ICPC
Spy97
这个作者很懒,什么都没留下…
展开
-
2019 ICPC 徐州 H题 Yuuki and a problem
题意n个数,两种操作,一种是修改某个数,一种的求一段区间的数,他们设子集所能表示的数的 mexmexmex题解求 mexmexmex ,先看能不能表示出1,求下小于1 的数的和,若为0 ,这答案为1,否则继续,设上一次求出的和为 x,说明 数字 1−x1-x1−x 都可以 被表示,再求小于 x+1 的数的和,若没有增加,说明 x+1 不能被表示,否则继续重复上述操作。用主席树带修改即可代...原创 2019-12-07 14:30:10 · 782 阅读 · 0 评论 -
2019 ICPC 南京 F题 Paper Grading
代码#include<bits/stdc++.h>#define N 200010#define INF 0x3f3f3f3f#define eps 1e-8#define pi 3.141592653589793#define mod 998244353#define P 1000000007#define LL long long#define pb push_b...原创 2019-12-02 00:25:07 · 736 阅读 · 1 评论 -
ICPC World Final 2019 G First of Her Name AC自动机 树上SA 广义后缀自动机
题意给出一个字符构成的树,每个节点到根经过的字符组成一个字符串。有多个询问,每次询问一个字符串,求询问串是多少个字符串的前缀题解在树上求后缀数组,求出每个字符串的字典序的排名对于询问操作,找出询问串在字符串中的排名的区间范围,就得出答案了由于是有序的,所以可以用二分查找,前缀等于询问串的最小和最大的排名,差值就是答案注意二分查找时的边界问题:La=n+1,Ra=0La=n+1,Ra=0...原创 2019-11-06 11:29:25 · 402 阅读 · 0 评论 -
2018 ICPC 焦作 H题 Can You Solve the Harder Problem?
题意:给出n个数,定义 f [ l, r ]表示 区间 [ l , r ]的最大值,求所有 子区间的最大值的和,要求相同的子区间只能算一次比如 数列 5 6 5 6 , 区间 [ 1, 2 ] 和 [ 3, 4]是一模一样的,所以只能算一次。 题解:假如抛开限制,那就是一个经典的算贡献的题目。要求重复的区间只能算一次,很容易想到 相同的子串,又联想到后缀数组...原创 2018-12-10 00:25:03 · 1875 阅读 · 0 评论 -
ICPC 2018 焦作 C题 Supreme Command
欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体...原创 2018-12-14 12:37:17 · 1008 阅读 · 0 评论 -
2018 ICPC 徐州区域赛 H Rikka with A Long Colour Palette
题意:给出n个数轴上的线段,进行每个线段染一种颜色,求混合有k种颜色的距离的和。题解:如果某一段被k条及以上线段覆盖,那么这一段一定是满足条件的,问题是如何求解方案数。确定一条线段染什么颜色一定是根据左右端点判断得到的,所以我们只关心端点。将左端点记为1,右端点记为-1,排序,相同的位置,右端点更靠前。用一个队列保存没有染色的点,一开始所有颜色都在队列。从小...原创 2018-12-03 20:24:48 · 1175 阅读 · 0 评论 -
2018 焦作网络赛 H String and Times
题意:给出一个字符串,和一个上下界,求所有子串中出现次数恰好介于上下界的个数。题解:假设上下界为x、y,我们计算出出现次数大于k的数目cal(k),那么cal(x)-cal(y+1)就是答案。先上后缀数组板子求出rank、sa和height数组我们按rank从小到大排序,相邻k个位一组,即1~k、2~k+1、3~k+2、4~k+3。。。。。。对于1~k,假设这一组的he...原创 2018-09-19 23:57:33 · 209 阅读 · 0 评论 -
2018 ICPC 沈阳网络赛 The cake is a lie
题意:给出n个半径一致的圆,画一个圆至少完全包含其中的m个,求最小半径。题解:可化简为,n个点,求覆盖掉至少m个的最小的圆O(n^2logn *logR)的解法:二分半径,然后判断这个半径下能覆盖的最多的点,若小于要求,半径变大,若大于要求,半径缩小。如何得知一个半径下能覆盖的最多的点?设半径为r我们枚举每一个点,表示一定要包含的点,我们在包含住这个点的前提...原创 2018-09-11 00:57:15 · 263 阅读 · 0 评论 -
2018上海大都会赛 E题 Thinking-Bear's necklace
题意:一个字符串的环,可以任意断开,使的子串的最大回文串最长,输出长度。但是你有两次将一个字符修改成任意字符的机会。题解:字符串Hash将串延长1倍,枚举回文串的中间点,看看在最多修改2次的前提下最多有多长。具体方法:首先二分出可以向两侧扩展的最大长度,然后跳过一个字符(意味一次修改),再二分最大长度,再跳过,再二分即可。 代码: #include&...原创 2018-08-08 10:25:57 · 246 阅读 · 0 评论 -
2018上海大都会赛 C题 Rescue
补完题后忙着补其他的了,就光把代码贴出来了,突然发现有人看,赶忙把题解发出来。题意:求两条线段的最近距离。题解:首先求空间中两条异面直线的距离为d,求的方法是板子。。。然后分两种情况:一是,首先我们定义两条直线的距离的方向为v,也就是说,一条直线沿方向v平移,会与另一条直线相交。第一种情况就是,将线段沿方向v平移后交点在两条线段上,那么异面直线的距离就是两条线段的最短距...原创 2018-08-05 13:01:42 · 322 阅读 · 0 评论 -
Nested Triangles 2018 ACM-ICPC中国大学生程序设计竞赛
题目链接:https://nanti.jisuanke.com/t/28410题目大意:给出n个点,和两个点P,Q,求一个最大的集合,使得集合中的点与P、Q两点围成的三角形是层层包含的,若有多种最大数目的方案,输出字典序最小的。题解:设n个点为点c[i],首先将n个点依据直线PQ的两侧分为两部分,对每一部分,将∠c[i]PQ从小到大排序,再对∠c[i]QP求最长上升子序列就可求出最...原创 2018-07-19 22:50:55 · 1076 阅读 · 0 评论 -
HDU 6194
string string string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2270 Accepted Submission(s): 711Problem DescriptionUncle Mao is a...原创 2018-03-17 23:23:39 · 273 阅读 · 0 评论 -
ICPC 2017 青岛 Spacecraft
题目地址:https://nanti.jisuanke.com/t/18518 人生第一篇博客。。。 用两个向量face和head模拟人的方位,向上或向下旋转ang角时,两个向量都旋转ang角,左右旋转时,face旋转ang角,head不变,自己感受一下就知道了。主要就是两个模板,三维空间中点到线段的距离以及向量的旋转。 #include<bits/stdc+...原创 2017-11-13 19:03:38 · 627 阅读 · 0 评论 -
ICPC 2017 北京 Liaoning Ship’s Voyage
题目地址:http://hihocoder.com/problemset/problem/1633?sid=1234017 题目大意:在二维平面内,船从(0,0)出发到(n-1,n-1)结束,求最短路,要求:一个点可以向周围8个方向走,距离都为1,并告诉哪些点不可以走,同时要求路线不可以穿过一个三角形。 题解:对每个点标号,建图,最后SPFA搞一下。连边时要判断路线是否...原创 2017-11-19 18:55:31 · 673 阅读 · 6 评论 -
ICPC 2015 北京 Today Is a Rainy Day
题目链接:https://vjudge.net/problem/UVALive-7263或者:http://hihocoder.com/problemset/problem/1251题目大意:给你两个字符串,问你从一个变成另一个的最少变化次数。变化规则有二,一是将某一字符变成另一个字符,二是将某一类字符变成另一类字符,都算变化一次。题解:首先有一个弯要转过来,就是先进...原创 2017-12-10 21:14:26 · 345 阅读 · 0 评论