随笔分类 - 代码源
代码源:a-good string(CF1385D,分支)
摘要:传送 点击查看代码 #include<bits/stdc++.h> using namespace std; char s[131080]; int _solve(int L,int R,char x) { if(L==R) return s[L]!=x; int M=L+(R-L)/2; int
阅读全文
代码源:互不侵犯(SCOI,状压DP)
摘要:点击查看代码 #include<bits/stdc++.h> using namespace std; int n,m; long long f[10][1024][100]; int v[1024]; void init() { for(int i=1;i<1<<n;++i) { int c=0;
阅读全文
代码源:字典序枚举(位运算)
摘要:点击查看代码 #include<bits/stdc++.h> using namespace std; const int N=7e4,p=1e9+7; int f[N],c[100]; int nxt(int x) { int t=(x|(x-1))+1; int y=t|((t&-t)/(x&-
阅读全文
代码源:子集和I(位运算)
摘要:点击查看代码 #include<bits/stdc++.h> using namespace std; const int N=7e4,p=1e9+7; int f[N]; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; ci
阅读全文
代码源:只出现一次的数(位运算)
摘要:点击查看代码 #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin>>n; vector<int> a(n); int res=0;
阅读全文
代码源:CF 1355E(整数三分)
摘要:传送 点击查看代码 #include<bits/stdc++.h> using namespace std; typedef long long ll; int a[100010]; int n,A,R,M; ll f(int x) { ll y=0,z=0;//y表示需要增加的次数,z表示需要减少
阅读全文
代码源:合并数列(二分)
摘要:有 n 个线性序列,第 i 个序列可以表示成 ki×x+bi 的形式 (x=0,1,2,... )。 请问将这些序列中的数按从小到大的顺序合并起来,前 m 个数分别是多少(重复出现的数合并后也会出现多次)? 输入格式 第一行一个整数 n 。 接下来 n 行每行两个整数 ki,bi 。 最后一行一个整
阅读全文
代码源:没有上司的舞会2(树上背包)
摘要:一家公司里有 n 个员工,他们的编号分别是 1 到 n ,其中 1 号员工是公司 CEO,CEO 在公司里没有上司。除了 CEO 外,每个人都有一个直接上司。今天公司要办一个舞会,为了大家玩得尽兴,如果某个员工的直接上司来了,他/她就不想来了。i 号员工来参加舞会会为大家带来 ai 点快乐值。由于场
阅读全文
代码源:新的背包
摘要:有 n 种物品要放到一个袋子里,袋子的总容量为 m ,每种物品都有 m 个,单个物品的体积都是 1 。对于第 i 种物品,如果我们一共取了 j (j≥1) 个,会获得 wi,j 的收益。请问如何选择物品,使得在物品的总体积不超过 m 的情况下,获得的总收益最大?请求出最大总收益。 输入格式 第一行两
阅读全文
代码源:没有上司的舞会(树形DP)
摘要:一家公司里有 n 个员工,他们的编号分别是 1 到 n ,其中 1 号员工是公司 CEO,CEO 在公司里没有上司。除了 CEO 外,每个人都有一个直接上司。今天公司要办一个舞会,为了大家玩得尽兴,如果某个员工的直接上司来了,他/她就不想来了。i 号员工来参加舞会会为大家带来 ai 点快乐值。现在我
阅读全文
代码源:序列删除
摘要:有 n 个数字 a1,a2,…,an ,我们要把除了 a1,an 之外的其他数字删除,删除一个数字的代价是它乘上它相邻两个还没有被删除的数字的值,请求出最小代价是多少。 输入格式 第一行一个整数 n 。 接下来一行 n 个整数 a1,a2,…,an 。 输出格式 一个整数,表示答案。 样例输入 5
阅读全文
代码源:混合背包
摘要:有 n 种物品要放到一个袋子里,袋子的总容量为 m 。 物品一共有 3 类,第 i 种物品属于第 ai 类,它的体积为 vi ,把它放进袋子里会获得 wi 的收益。 如果它属于第 1 类物品,每种只能用一次。 如果它属于第 2 类物品,每种可以用无限多次。 如果它属于第 3 类物品,每种可以用 li
阅读全文
代码源:括号序列
摘要:给定一个长度为 n 的字符串 s ,字符串由 (, ), [, ] 组成,问其中最长的合法子序列有多长?也就是说,我们要找到最大的 m ,使得存在 i1,i2,…,im 满足 1≤i1 点击查看代码 ``` #include using namespace std; const int N=510;
阅读全文