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 ...
随机推荐
- hive 动态分区数设置
当对hive分区未做设置时,报错如下: Caused by: org.apache.hadoop.hive.ql.metadata.HiveFatalException: [Error 20004]: ...
- ecshop SQL注入漏洞导致代码执行
漏洞名称:ecshop SQL注入漏洞导致代码执行补丁编号:11208761补丁文件:/includes/libinsert.php补丁来源:云盾自研漏洞描述:ecshop的/includes/lib ...
- 神奇的marquee--滚动的文字
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- sql解析xml
我们有时候需要在sql中解析xml,xml解析sql实例如下: DECLARE @params xml DECLARE @customparams xml = null -- 0.解析输入参数 ...
- vue2-loading-bar 一款基于Vue2的进度条插件
自学了N久vue,奈何没有练手项目,终于决心拿个东西来试试手.基于对音乐的热爱,选择的第一个demo是音乐播放器.一般播放器都有进度条,于是无意间找到这个插件,就是vue2-loading-bar,这 ...
- WPF触屏Touch事件在嵌套控件中的响应问题
前几天遇到个touch事件的坑,记录下来以增强理解. 具体是 想把一个listview嵌套到另一个listview,这时候如果list view(子listview)的内容过多超过容器高度,它是不会出 ...
- java.net.SocketException: Broken pipe 异常可能的原因
org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Broken pipe at org.apa ...
- Excel基本操作1
Excel的基本操作之二,录入及快速填充.不足之处,欢迎补充
- Java中多线程同步类 CountDownLatch
在多线程开发中,常常遇到希望一组线程完成之后在执行之后的操作,java提供了一个多线程同步辅助类,可以完成此类需求: 类中常见的方法: 其中构造方法:CountDownLatch(int count) ...
- [.NET] 《Effective C#》快速笔记 - C# 高效编程要点补充
<Effective C#>快速笔记 - C# 高效编程要点补充 目录 四十五.尽量减少装箱拆箱 四十六.为应用程序创建专门的异常类 四十七.使用强异常安全保证 四十八.尽量使用安全的代码 ...