2022.11.10
### noip模拟
## 出错点
- t1:想复杂了。。
- t3:
//f[l][r] = max(f[l][r], f[l + 1][k - 1] + Get(l, k) + f[k + 1][r]); if (f[l + 1][k - 1] == s[k - 1] - s[l]) {//要保证[l + 1, k - 1]能全删完l和k才能碰到一起!!! f[l][r] = max(f[l][r], f[l + 1][k - 1] + Get(l, k) + f[k + 1][r]); }
忽略题目条件,想当然,在想转移的时候就没有认真联想题目限制,没加特判,直接挂没了
- t4:
//int x, n, y; //IN >> x >> n >> y;//已经有n了!!!直接乱掉了!!! int x, k, y; IN >> x >> k >> y; memset(flag, 0, sizeof(int) * (n + 2));//别忘了清空!!! //cout << 1ll * fz * inv[fm] % Mod << '\n'; cout << 1ll * fz * Q_pow(fm, Mod - 2) % Mod << '\n';//inv存不下啊啊啊必须现算!!!!!!
变量重名!!!(好难调出来啊);忘记清空数组。。。;对于最后的计算,组合数的inv应该现算,并没有存,存的inv是用来算组合数的
## 过程分析
- 最先看的t4,思路很快就想出来了,但却在存储的容器上卡住了(,想着不连续,个数还有限,就一直在那儿想vector的操作,完全没有想到map,结果就是想出来的操作蛮麻烦,然后浪费了很长时间,最后也没去写
- 去看t1,顺着自己的奇特思路一步步想了出来,整体花费40min+,略长,思路想复杂了。但是看题解那种思路就是不舒服,所以好像也没啥办法(
- t2,很简单的一道题但是花费时间也蛮长,思路是正确的,但是不够清晰和快速,还是get点太慢
- t3,先想了会儿贪心才突然想到区间dp,状态和转移都正确,但是却没有考虑到一个题目里关键的限制,就是两个点若能匹配则中间的点必须全部删掉,因为不太会写暴力所以没写拍子(,自己造的小数据也没有考虑到那个条件,导致0分
- 都写完后又去看t4,到最后也没想到map,还是在想伟大的vector。。。因为时间不多了无疑又放弃(。最后rush了个暴力,结果出现过多错误0分
## 总结
- 思路要更快更清晰!还是抓重点,会联想的能力
- 各种各样的思路的错误,还是不够认真仔细,特别是忽略题目关键的限制和条件,就在那儿胡写,今天的t3漏掉条件,还有前两天的[P1436 棋盘的分割],都是会且不难但是就是根本就没联系题目,就没考虑题目的条件,这个毛病一定要改,老是晕晕乎乎地胡写一气,所以从这次开始写完之后一定再读一遍题,对着题目限制好好地再捋一遍思路,寻找问题
- 代码细节错误,像忘清空这样的真的无语,但是这个变量重名一定要重视,特别是对于像n,m这种常用变量,提高敏感度,一定不要重了!!!
- 基础不牢固,比如就是想不到map(,也有没有快速转换思路的问题,stl真的不太会用,还是要多学学,熟悉使用的情况

浙公网安备 33010602011771号