2017年10月29日

摘要: OJ P1214 贵校OJ真lj XD 注意以char对应ascii码作为下标的话循环尽头为200.。。。 就这,虽然磕了一段时间但好像没什么可说的。 自己看注释吧 P1217 阅读全文

posted @ 2017-10-29 17:21 Murs 阅读(171) 评论(0) 推荐(0)

摘要: 今天的题共4道。。。XD T1很EZ,只需要预处理下所有方向然后统计,最后20%可以直接看作一条线段做操作,将 L 视为-1,R 视为 +1,做这个序列的前缀和,用数组存下每个数的出现次数,最后扫下就好。 但是T1爆零了 原因是我直接将PDF上的文件明复制上去了,原以为可以避免打错文件名,不过Tm文 阅读全文

posted @ 2017-10-29 17:21 Murs 阅读(84) 评论(0) 推荐(0)

摘要: 考试时候安排的策略还是不行,总是在调试上浪费太多的时间,写之前一定要把思路梳理清晰一函数命好名或者用便签记录下来,切记不要一边想一边写,判断情况是会漏的。 T1还ok只不过在调时候思路没有跟上浪费了很多时间,但是还问题不大 AC code T2就比较狗了(XD)虽然是HAOI2016原题但是没有好好 阅读全文

posted @ 2017-10-29 17:20 Murs 阅读(110) 评论(0) 推荐(0)

摘要: 罪犯三连。。。。P1206,1207,1208三次数据加强;分为三种图的遍历写法06: dfs+邻接矩阵07: dfs+邻接婊08: bfs+邻接婊 06: 07: 阅读全文

posted @ 2017-10-29 17:19 Murs 阅读(117) 评论(0) 推荐(0)

摘要: 见注释 注意理解sum表示含义以及f[i][j]和sum联系 #include<cstdio> #include<algorithm> #include<cstring> #define F(i,s,e) for(int i=s;i<=e;i++) #define D(i,e,s) for(int 阅读全文

posted @ 2017-10-29 17:18 Murs 阅读(107) 评论(0) 推荐(0)

摘要: 设f[i]表示从 i 到 n 时间内的最大空闲时间。 则 f[i]=f[i+1]+1 (i=p[j]) f[i]=max{f[i],f[p[j]+t[j]]} (i<>p[j]) 最后输出f[1]即可。设f[i]表示从 i 到 n 时间内的最大空闲时间。 则 f[i]=f[i+1]+1 (i=p[j 阅读全文

posted @ 2017-10-29 17:17 Murs 阅读(123) 评论(0) 推荐(0)

摘要: 线性覆盖 f[i]是到每个区间的末尾能吃到的最大桶数 水题 、、、、、、、、、、、、、、、、、、、、、、、、、、 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std 阅读全文

posted @ 2017-10-29 17:16 Murs 阅读(224) 评论(0) 推荐(0)

摘要: Bitset BitSet是位操作的对象,值只有1和0。用1位来表示一个数据是否出现过,0为没有出现过,1表示出现过。使用用的时候既可根据某一个是否为0表示此数是否出现过。 比较 一般,int占4个字节,long占8个字节。而一个字节是由8个位组成的。 粗略估计,int和BitSet的比例为4*8: 阅读全文

posted @ 2017-10-29 17:16 Murs 阅读(121) 评论(0) 推荐(0)

摘要: 三道动归基础。。。 P1255 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int n,a[120]; int fs[120],fe[120]; int main() { memset(a,0 阅读全文

posted @ 2017-10-29 17:15 Murs 阅读(138) 评论(0) 推荐(0)

摘要: DP+ P1258 想过这种思路但是觉得不可行所以只要有想法就要积极去实现! 状转 输入f[1-10] f[i]=min{f[j]+f[i-j]} i:[2,n) j:[1,i); #include<iostream> #include<cstdio> #include<cstring> #incl 阅读全文

posted @ 2017-10-29 17:15 Murs 阅读(135) 评论(0) 推荐(0)