XIII Open Cup named after E.V. Pankratiev. GP of SPb
A. Graph Coloring
答案为$1$很好判,为$2$只需要二分图染色,对于$3$,首先爆搜哪些边要染成第$3$种颜色,然后二分图染色判定即可。
B. Decimal Fraction
枚举前缀,那么只需要求出后面部分的最小循环节即可,将串翻转之后进行KMP,循环节长度$=i-next[i]$。
时间复杂度$O(n)$。
C. Teams of Equal Power
首先将球员按能力值从大到小排序,假设一队的队长能力值比二队队长高,那么显然一队队长只能是第一个人,枚举二队队长,然后看看后面是否存在合法方案即可。
判断合法,可以设$f[i][j]$表示用$[i,n]$这些人能否组成能力值之和为$j$的队伍,可以用bitset加速。
时间复杂度$O(\frac{n^3}{64})$。
D. Hexagon
轮廓线DP,设$f[i][j][S]$表示考虑到$(i,j)$这个三角形,轮廓线上的匹配情况为$S$的方案数,然后打表即可,注意去掉冗余的状态。
E. Maximal Matching
建图:$S$向左边每个点连边,费用为点权,流量为$1$;右边每个点向$T$连边,费用为点权,流量为$1$;左边的点向能匹配的右边的点连边,费用为$0$,流量为$1$,那么答案就是这个图的最大费用流。
注意到与$S$和$T$相连的边费用非负,且中间的边费用都是$0$,第一次增广后,左右那两条边费用取负,中间的$0$权边反向,因为左右两条边与源汇连接,所以以后最长增广路必然不会经过它,可以删除。而对于中间的$0$权边来说,将它们按强连通分量合并后增广路不变,所以可以如此缩成DAG,就可以每次在$O(n+m+e)$的时间内找到增广路。
时间复杂度$O(e(n+m+e))$。
然后不想写,写个裸费用流居然A了。
F. Right Turn Only
按题目要求分类讨论即可。
G. Similar Strings
$O(2^k)$枚举串中哪些位置必须匹配,算出Hash值,相同的Hash值的串之间可以互相更新答案。
时间复杂度$O(2^kn\log n)$。
H. Traffic Lights
留坑。
I. Triple Connections
区间DP,细节很多,留坑。
XIII Open Cup named after E.V. Pankratiev. GP of SPb的更多相关文章
- XIII Open Cup named after E.V. Pankratiev. GP of Ukraine
A. Automaton 后缀自动机可以得到$O(2n+1)$个状态,但是后缀自动机会拒绝接收所有不是$S$的子串的串,所以在建立后缀自动机的时候不复制节点即可得到$n+1$个状态的DFA. #inc ...
- XIII Open Cup named after E.V. Pankratiev. GP of Asia and South Caucasus
A. RPG 首先计算出每个技能对于每个属性值的可行区间,若区间为空则不合法. 枚举两个技能,以及每个属性值,根据区间的关系可以得到哪个必须要在另一个之前学,连边看看是否有环即可. 时间复杂度$O(n ...
- XIII Open Cup named after E.V. Pankratiev. GP of Azov Sea
A. Freestyle 如果逆序对为$0$,那么先手必败. 因为每次只能翻转长度为$4k+2$和$4k+3$的区间,所以每次操作之后逆序对的奇偶性一定会发生改变. 因此如果逆序对个数为偶数,则先手必 ...
- XIII Open Cup named after E.V. Pankratiev. GP of America
A. Explosions 注意到将炸弹按坐标排序后,每个炸弹直接引爆和间接引爆的都是连续的一段区间,因此只需要求出每个炸弹能间接炸到的最左和最右的炸弹即可. 建立图论模型,炸弹$i$向炸弹$j$连单 ...
- XIII Open Cup named after E.V. Pankratiev. GP of Saratov
A. Box Game 注意到局面总数不超过$50000$,而且每次操作都会改变石子的奇偶性,因此按奇偶可以将状态建成二分图,然后求出最大匹配. 如果状态数是偶数,那么先手必胜,策略就是每次走匹配边, ...
- XVII Open Cup named after E.V. Pankratiev. GP of SPb
A. Array Factory 将下标按前缀和排序,然后双指针,维护最大的右边界即可. #include<cstdio> #include<algorithm> using ...
- XVI Open Cup named after E.V. Pankratiev. GP of SPB
A. Bubbles 枚举两个点,求出垂直平分线与$x$轴的交点,答案=交点数+1. 时间复杂度$O(n^2\log n)$. #include<cstdio> #include<a ...
- XIV Open Cup named after E.V. Pankratiev. GP of SPb
A. Bracket Expression 直接按题意模拟即可. 时间复杂度$O(n)$. #include<stdio.h> #include<algorithm> #inc ...
- XVIII Open Cup named after E.V. Pankratiev. GP of SPb
contest Link A. Base i − 1 Notation solved by sdcgvhgj 238 求出a+b的2进制后从低位到高两位两位地转化为i-1进制 i-1进制的第2k位和第 ...
随机推荐
- Bootstrap学习(一)
Bootstrap就是对jQuery的一次再开发,所以jQuery脚本引用必须在bootstrap脚本之前. 链接:http://www.cnblogs.com/vvjiang/p/5189804.h ...
- Swift - @IBDesignable和@IBInspectable
前言: 用storyboard/xib搞项目时,一些属性在Interface Builder上时无法设置,比如常用的layer的一些属性cornerRadius,borderColor等 (有时没必须 ...
- linux清除当前屏幕
linux清除当前屏幕:直接clear命令即可 而在windows下的话用cls命令
- Git撤销提交和修改相关操作
团队开发中经常遇到错误删除文件,错误提交等情况,那么使用Git该如何正确的进行撤销和恢复呢? 一.增补提交 git commit –C HEAD –a --amend -C表示复用指定提交的提交留言, ...
- HTML5学习之视频与音频(三)
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Delphi的Win32的API调用简单介绍
1. 介绍Win32 API和Win32系统.还要讨论Win32系统的功能以及它与16位系统在功能上的几个主要区别.只是让对Win32系统有一个基本的了解.当已经基本了解Win32操作后,就可 ...
- 【翻译十八】java-并发之锁对象
Lock Objects Synchronized code relies on a simple kind of reentrant lock. This kind of lock is easy ...
- forEach 方法 (Array) (JavaScript)
为数组中的每个元素执行指定操作. 语法 array1.forEach(callbackfn[, thisArg]) 参数 参数 定义 array1 必选.一个数组对象. callbackfn 必选.最 ...
- HDU5558 Alice's Classified Message(合肥区域赛 后缀数组)
当初合肥区域赛的题(现场赛改了数据范围就暴力过了),可惜当初后缀数组算法的名字都没听过,现在重做下. i从1到n - 1,每次枚举rank[i]附近的排名,并记录当起点小于i时的LCP(rank[i] ...
- Java Hour 67 Java Collection API
本文不是一个大而全的讲述Java Coleection 相关的APi, 而是笔者认为哪些是一个初学者所能够而且必须确切知道的知识点. Collection 一脉 这里有我们比较常用的List<E ...