摘要:
数论中国剩余定理。(终于知道这货怎么用了。。。) 阅读全文
摘要:
dp,最长上升子序列二维化,记忆化搜索 阅读全文
摘要:
dp,最长上升子序列变形 阅读全文
摘要:
计算几何。题目大意,一个盒子中间有隔板分成不同格子(只有一行),有一堆点放到盒子里,问每个格子里有几个点。算法:二分查找。判断点在线段左右。 阅读全文
摘要:
经典dp,不会写代码。。留着以后看吧。。。http://hi.baidu.com/pojoflcc/blog/item/b8d24c1235a182095aaf5392.html 阅读全文
摘要:
[poj 3177]割边问题,双连通分量一定要注意判断重边!!!现在还有一点没有想通,就是最后一个for循环中为什么要<=f,才能输出正确答案。 已解决~因为调用的时候dfn赋值为1,及最后的for要从1~f去循环~这个是与点从0~f-1编号没有关系的。模拟一下即可明白。顺便学习了强连通分量和双连通分量,还有tarjan算法:http://hi.baidu.com/%CE%D2%CA%C7%B6%AF%B5%B4%B2%BB%B0%B2/blog/item/2b1d5d6539705b3faa184c01.html?顺便有时间要研究一下这个代码,又短又快。。。http://acm.hus 阅读全文
摘要:
割点问题题目类型相同,于是放到一起写。套了个版就可以了。贴出版吧,方便查找。void dfs(int k, int fa){ int j, i, son = 0; vis[k] = 1; PreOrder[k] = BackOrder[k] = dfn ++; for(i = 0; i < adj[k].size(); i ++){ j = adj[k][i]; if(vis[j] == 1 && j != fa) BackOrder[k] = min(BackOrder[k], PreOrder[j]); if(vis[j] == 0){ dfs(j, k); son 阅读全文