04 2021 档案
摘要:链接题面 看清楚找到小数据范围,第一维表示遍历到的栅栏,第二维是五位状态 先预处理每个状态会使多少小朋友高兴 方程是 f[i][j]=max(f[(i&((1<<4)-1))<<1][j-1],f[((i&((1<<4)-1))<<1)+1][j-1])+b[j][i] 简单点就是 f[i][j]=
阅读全文
摘要:lowbit int lowbit(int x) { return x&(-x); } 去掉最后一个1 for(int j=i;j;j&=(j-1)) 早背过早超生
阅读全文
摘要:1.倒序枚举 作用:dp时用到,用来去掉后效性避免转移出错 疾病管理 其实跟01背包很像,一个思想 1 #include <bits/stdc++.h> 2 using namespace std; 3 int cow[1005]; 4 vector <int> a[20]; 5 int get1(
阅读全文
摘要:题面在这里 再次破了纪录,连做了3天。。。 让我们从头来一点一点分析 1.预处理 先看题面,乍一看貌似是个图论题,有n个点m条边,给定一些必须经过的点和强制经过顺序,求一条最短路 我们发现n和m都比较大,但是k很小只有20,于是考虑状压dp 仔细读题我们会发现,题目里有这么一句话:为了走最短路,可以
阅读全文
摘要:1.关闭流读入 作用:解决各种字符读入时的getchar用不对输不进去问题 ios::sync_with_stdio(false); 2.关于memset 使用一种较快的方法对整个数组赋成一个相同值,但需要遍历整个数组 一般用于清空数组和初始化,但要考虑效率,如果需要对整个数组操作可以memset,
阅读全文

浙公网安备 33010602011771号