会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
双零
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
2018年7月15日
Atcoder Snuke's Subway Trip 构图
摘要: 题目链接 这题主要是重构图的方法很难思考。 方法一:考虑在每个公司意义下的联通块,每个联通块对应一个虚拟节点,联通块内的节点到联通块对应的虚拟节点有一条边,构建出一个二分图,跑一遍BFS,将经过的边数除以2。这里有两种实现, 细节都注释在了程序里 方法二:对于每个节点V,设置虚拟节点VC,VC到V有
阅读全文
posted @ 2018-07-15 12:43 双零
阅读(218)
评论(0)
推荐(0)
2018年7月14日
Topcoder DesertWind 最短路转移dp 优化
摘要: 这题与WarTransportation很像,也可以理解为两人博弈 dp[i][j]=min(dp[i1][j1]+3,dp[i2][j2]+3) 其中(i1,j1)为(i,j)所有邻居中dp[i'][j']最小的(i',j'),(i2,j2)为(i,j)所有邻居中dp[i'][j']次小的(i',
阅读全文
posted @ 2018-07-14 16:29 双零
阅读(234)
评论(0)
推荐(0)
2018年7月13日
Topcoder WarTransportation 最短路转移dp
摘要: 题目链接 方法一 这道题的题意真的难理解,想了很久都没懂什么叫最小值最大...... 读完题一定要看样例! 题目可以理解为:有甲要走最短路,乙在甲走到某一顶点v时可以删去一条v >u的边,两人博弈,甲走的路最短为多少? 分析一下数据范围可以发现n≤100,m≤500,O(n³)的算法都可以过 我们可
阅读全文
posted @ 2018-07-13 14:43 双零
阅读(189)
评论(0)
推荐(0)
codeforces 343D Water Tree 树链剖分 dfs序 线段树 set
摘要: 题目链接 这道题主要是要考虑到同一棵子树中dfs序是连续的 然后我就直接上树剖了。。。 其实完全不用树链剖分,我们可以重新考虑一下题目中的3种操作 1、将子树全部赋成1,直接dfs序+线段树区间修改 2、将节点的祖先全部赋成0。我们可以知道,如果一个节点的子树中有1个0,那么这个节点一定会被赋成0,
阅读全文
posted @ 2018-07-13 12:14 双零
阅读(192)
评论(0)
推荐(0)
2018年7月12日
树链剖分模板
摘要: 1 #include 2 using namespace std; 3 const int MAXN=1e5+5; 4 //要开long long! 5 #define LL long long 6 vector nei[MAXN]; 7 struct Tedge 8 { 9 int u,v; 10 LL cost; 11 voi...
阅读全文
posted @ 2018-07-12 16:47 双零
阅读(124)
评论(0)
推荐(0)
上一页
1
2
公告