2017 UESTC Training for Graph Theory
图论姿势太弱,这套题做了好久。。
A:枚举最短那条边,然后最小生成树那种操作,1 和 n 联通就算答案
B:考虑到假如我们能凑出x的话,那很明显我们也能凑出任意数表示x + ai,考虑选取一个ai,然后dis[x]表示能凑出k % ai == x的最小k,跑一次最短路,初始化dis[0] = 0,假设选择的ai为A,然后0 - A-1对于每个数ai都连一条边则dis[(u + aj) % A] = min(dis[(u + aj) % A],dis[u] + aj);判断的时候if(X >= dis[X%A])
C:我的zz做法是这样的,行列拆开,源点往每一行连一条(Rowcnt[i]/2,(Rowcnt[i] + 1)/2)上下界的边,每一列对汇点也这样连,对于每个点,行列连一条(0,1)上下界的边,然后跑一次上下界可行流。。。不过TLE了好几发,优化一下过了,估计不是正经做法。
D:拓扑排序。先建图,对于第i个名字和i+1个名字,找出第一个不同的字母,然后就可以连一条边,不过如果第i+1个名字是第i个名字的前缀的话,那很明显是无解的
E:差分约束,跑一次最大,一次最小就好了
F:考虑从安全点倒着跑,因为安全点是确定的,能到达安全点的肯定对可达安全点/安全点的点连了d+1条边,所以倒着来做一次dij,对于前d次的更新直接忽略,因为这d次都是会被封锁的,所以更新到d+1次的时候这个点就已经确定了,把这个点相连的边加进堆里,继续更新,直到没有确定的点。
G:先缩点,那就有一个dag图了,对于逆行一条边(u,v),显然逆行之后必须要(1 - > v,u > 1)才会加答案,把这条边去掉不看的话,就是出现了两条链,所以对于dag图,正向反向跑一次dp,dp[i]表示1到i最长经过几个点,rdp[i]表示i到1最长经过几个点,然后枚举每条边答案就更新为max(dp[v] + rdp[u] - size[1])
H:A1...An,n个变量,每个Ci,j都是一个有关变量的方程,n个变量n个方程,跑一次最小生成树。
I:暴力dfs即可
J:考虑把条件转化成Sum[i] - Sum[i - p] >= s ,Sum[i] - Sum[i - q] <= t,然后跑一次差分约束
K:离散下直接最短路
2017 UESTC Training for Graph Theory的更多相关文章
- UESTC_方老师和农场 2015 UESTC Training for Graph Theory<Problem L>
		
L - 方老师和农场 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submi ...
 - UESTC_王之盛宴 2015 UESTC Training for Graph Theory<Problem K>
		
K - 王之盛宴 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
 - UESTC_小panpan学图论 2015 UESTC Training for Graph Theory<Problem J>
		
J - 小panpan学图论 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) S ...
 - UESTC_排名表 2015 UESTC Training for Graph Theory<Problem I>
		
I - 排名表 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit S ...
 - UESTC_韩爷的情书 2015 UESTC Training for Graph Theory<Problem H>
		
H - 韩爷的情书 Time Limit: 6000/2000MS (Java/Others) Memory Limit: 262144/262144KB (Java/Others) Subm ...
 - UESTC_Big Brother 2015 UESTC Training for Graph Theory<Problem G>
		
G - Big Brother Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) ...
 - UESTC_传输数据 2015 UESTC Training for Graph Theory<Problem F>
		
F - 传输数据 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
 - UESTC_树上的距离 2015 UESTC Training for Graph Theory<Problem E>
		
E - 树上的距离 Time Limit: 2000/1000MS (Java/Others) Memory Limit: 262143/262143KB (Java/Others) Subm ...
 - UESTC_邱老师的脑残粉 2015 UESTC Training for Graph Theory<Problem D>
		
D - 邱老师的脑残粉 Time Limit: 12000/4000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Sub ...
 
随机推荐
- 老李分享:Android性能优化之内存泄漏3
			
线程造成的内存泄漏 对于线程造成的内存泄漏,也是平时比较常见的,如下这两个示例可能每个人都这样写过: //——————test1 new AsyncTask<Void, Void, Void&g ...
 - VS 2017开发ASP.NET Core Web应用过程中发现的一个重大Bug
			
今天试着用VS 2017去开发一个.net core项目,想着看看.net core的开发和MVC5开发有什么区别,然后从中发现了一个VS2017的Bug. 首先,我们新建项目,ASP.NET Cor ...
 - MySQL关于Duplicate entry '1' for key 'PRIMARY'错误
			
今天复习MySQL遇到Duplicate entry '1' for key 'PRIMARY'错误. 原因是主键值为'1'的数据已经存在,主键是唯一的,不可重复.
 - vue项目目录介绍
			
Vue项目目录 初始化项目 vue init webpack []projectname] cd [projectname] npm install vue run dev 目录树 +---build ...
 - 20144306《网络对抗》CAL_MSF基础运用
			
1 实验内容 一个主动攻击,如ms08_067 一个针对浏览器的攻击,如ms11_050 一个针对客户端的攻击,如Adobe 成功应用任何一个辅助模块 2 实验过程记录 2.1 主动攻击MS08- ...
 - 你的计算机也可以看懂世界——十分钟跑起卷积神经网络(Windows+CPU)
			
众所周知,如果你想研究Deep Learning,那么比较常用的配置是Linux+GPU,不过现在很多非计算机专业的同学有时也会想采用Deep Learning方法来完成一些工作,那么Linux+GP ...
 - 【HDOJ 1286】找新朋友
			
找新朋友 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submissi ...
 - Xamarin.Forms+Prism(3)—— 简单提示UI的使用
			
这次给大家介绍两个比较好用的提示插件,如成功.等待.错误提示. 准备: 1.新建一个Prism Xamarin.Forms项目: 2.右击解决方案,添加NuGet包: 1)Acr.UserDialog ...
 - python基本数据类型——set
			
一.集合的定义 set集合,是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键.集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数 ...
 - 由CODEVS笨小猴1053引发的一些思考
			
#include<cstdio> #include<cstring> ]; ]; int check(int n) { ||n==) ; ;m*m<=n;++m) ) ; ...