Komorebi
首页
文章
标签
关于
友链
基础DP1专题
HDU 1160 很生气的一道题…WA了好久都觉得自己是对的…debug了好久…发现是路径输出的时候发生了错误…本来是用 while(y!=0) { printf("%d\n",m[y].id); y=pre[y]; } 这样来输出的,结果WA,然后用递归 void print(int pos) { if(pos==0)return;
2018-01-26
题解
最小生成树专题
Kruskal模板struct edge { int u,v,cost; }eg[50010]; int par[1010],high[1010]; bool cmp(edge x,edge y) { return x.cost<y.cost; } void init(int n) { for(int i=1;i<
2018-01-26
题解
并查集专题
普通并查集模板int par[1010],high[1010]; void init(int n) { for(int i=1;i<=n;i++) { par[i]=i; high[i]=0; } } int find(int x) { if(par[x]==x)return x
2018-01-26
题解
最短路专题
Dijkstra模板struct edge { int to,cost; }; vector<edge>v[1010]; typedef pair<int,int>p; int dis[1010]; int n; void dijkstra() { fill(dis+1,dis+n+1,INF); dis[1]=0;
2018-01-26
题解
搜索专题
不要忘记更新vis呀…不更新会TLE… 找KFC那道不要对每一个KFC都bfs一遍…直接一遍bfs标出到每个位置的最少步数就好了… fire那道要注意看清题目是多起点…让fire先跑一遍bfs标记好vis数组就好了…vis里面装fire到这里的时间…
2018-01-26
题解
HDU 6170 正则表达式
:匹配前面的子表达式零次或多次。要匹配 字符,请使用 *。 .:匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 . 。 注意.*这种情况要特殊处理一下即可。 int main() { std::ios::sync_with_stdio(false); int t; cin>>t; while(t--) {
2018-01-26
题解
nbuoj 2704 贪心吃法
加工生产调度的贪心…用到了johnson算法… https://wenku.baidu.com/view/9c31776727d3240c8447ef42.html### 策略是这样子的…不知道为什么…
2018-01-26
题解
背包相关
http://blog.csdn.net/tinyguyyy/article/details/51203935 0-1背包的滚动数组优化每一次c[i][j]改变的值只与c[i-1][x] {x:1...j}有关c[i-1][x]是前一次i循环保存下来的值,因此,可以将c缩减成一维数组,可以把二维数组变成一维数组减少内存。 for(i=1;i<=num;i++) for
2018-01-26
题解
大数
大数问题总是写不对…可以说是很弱了… 讲讲要怎么写吧… 加法的话: 还是把字符串化成数组吧…纯字符串做真的… 限定一个最大长度 然后就去掉前导零…进位的时候直接i+1加加就可以了不要再用c啦…还有注意数组的清零咯w
2018-01-26
题解
51nod 1183 编辑距离
DP…这里只是求编辑距离,有时候可能还要回溯找到发生了什么… DP...这里只是求编辑距离,有时候可能还要回溯找到发生了什么... 令f[i][j]表示a串前i个,b串前j个的编辑距离 状态转移: 若a串第i个与b串第j个相等,那么f[i][j]=f[i-1][j-1] 否则,f[i][j]可由3个状态转移而来: ①f[i-1][j-1]+ f(i, j) 当第一个字符串的第i个字符不等于第二个
2018-01-26
题解
1
…
17
18
19
20
21
…
23
Search
×
keyword