摘要:
01 背包 这类题型每个物品只有一件,思路很简单,可以打表格理解 (1)不拿这个物品,价值就是拿上一件的价值 w[i][j]=w[i-1][j] (2)拿这个物品,价值增加的同时可用体积减少 w[i][j]=w[i-1][j-v[i]]+c[i] 二维数组 i表示循环到第几件物品,j 表示已经使用了 阅读全文
posted @ 2022-07-13 19:33
zyzzzzlh
阅读(60)
评论(1)
推荐(1)
摘要:
初始化 即最开始让每个数的父节点为自己 for(i=1;i<=N;i++) { fa[i]=i; } find函数 寻找这个数据的祖先 int find(int x) { if(fa[x]==x) return fa[x]=x; else return fa[x]=find(fa[x]); } jo 阅读全文
posted @ 2022-07-13 19:32
zyzzzzlh
阅读(32)
评论(0)
推荐(0)
摘要:
set 容器 定义 #include<set> set <int>s[n]; 用法 s.begin() //指向第一个元素的迭代器 s.end() //指向最后一个元素的迭代器 s.size() //去重之后还有几个元素 s.clear() //清除set里的所有元素 s.insert() //输入 阅读全文
posted @ 2022-07-13 19:27
zyzzzzlh
阅读(38)
评论(0)
推荐(0)
摘要:
substr 可用于截取字符串 s.substr(start,length) start为必需,抽取字符串的起始下标,必须为数值 length为抽取长度 erase 删除选中的字符串 s.erase(pos,n) pos为删除字符的起始下标,必须为数值 n为删除字符的个数 s.erase(first 阅读全文
posted @ 2022-07-13 19:26
zyzzzzlh
阅读(32)
评论(0)
推荐(0)
摘要:
dfs ** i不要设为全局变量** 图的遍历 图的遍历 void dfs(int x){ f1[x]=1; cout<<x<<" "; for(int i=0;i<e[x].size();i++){ int d=s[e[x][i]].v; if(!f1[d]){ dfs(d); } } } 在n个 阅读全文
posted @ 2022-07-13 19:23
zyzzzzlh
阅读(58)
评论(0)
推荐(0)
摘要:
快速幂 基本思路 x的n次方可以将n转化为二进制数,x的11次方就是x的(1+2+8)次方, 代码实现 求$X^N$%mod long long ksm(long long X,long long N,long long mod){ long long sum=1; while(N){ if(N&1 阅读全文
posted @ 2022-07-13 19:23
zyzzzzlh
阅读(89)
评论(1)
推荐(1)
摘要:
基本思路 将a进制数n转化为b进制数 首先将a进制数转化为10进制数,再将10进制数转化为b进制数 a进制转化为10进制 for(i=s.length()-1;i>=0;i--){ if(s[i]>='0'&&s[i]<='9') k=s[i]-'0'; else if(s[i]>='a'&&s[i 阅读全文
posted @ 2022-07-13 19:17
zyzzzzlh
阅读(72)
评论(0)
推荐(0)

浙公网安备 33010602011771号