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…1718192021…23

Search

Hexo Fluid