- 博客(265)
- 收藏
- 关注
原创 【JZOJ5272】【GDOI2018模拟8.14】神奇的重复序列
DescriptionData ConstraintSolution我们发现当两个起点i,j(iCode#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;const int maxn=3e3+5;int bz[maxn][200
2017-08-22 22:23:17
321
原创 【JZO5271】【GDOI2018模拟8.14】神奇的救火现场
DescriptionData ConstraintSolution这和以前的jzoj上一道叫保持平衡的题很像啊。当然也有线性的做法,但我们这里只讲一下NlogN的做法。 我们维护两个小根堆分别为水栓和车的供给代价。每遇到一辆车,若水栓不为空,我们从水栓的堆中取出最小的代价x与其坐标相加后加入答案,并将坐标取反-代价加入车堆,若水栓为空,我们则将代价设为+∞重复刚才操作,表示以后若有水栓优先供应给
2017-08-21 22:54:39
387
原创 【JZOJ5270】【GDOI2018模拟8.14】神奇的矩阵
DescriptionData Constraint Solution考场上打了个O(N^3logN)的做法,以为可以水70分,结果出题人非常尽职将其卡至50…… 我们考虑若将数从大到小加入,那么每个点的贡献即当前矩形内的点的权值和-该数*矩形内的数的数量。若每个点(i,j)表示一个以(i,j)为左上角的k*k正方形的话,那么当前数(i,j)加入后影响的将会是一个左上角(i-k+1,j-k+1)
2017-08-21 07:15:41
398
原创 【JZOJ5262】【GDOI2018模拟8.12】树
DescriptionData ConstraintSolution我们发现两个显而易见(一点都不显然好吗)的结论: 1、是否优先不论,我们发现一条u->v的路径可以拆分成u->lca,lca->v两条路径,反之也成立。 2、a->b和c->d等价于a->d和c->b 于是我们得到推论:一个点要么作为起点要么作为终点。(吼啊啊啊) 那么我们就可以很开心的做dp了,由于叶子节点必须靠父亲边才能
2017-08-20 22:49:39
378
原创 【JZOJ5260】【GDOI2018模拟8.12】区间第k小
DescriptionData ConstraintSolution我们先考虑离线做法。显然是莫队+数据结构。但我们发现莫队是插入NN−−√N\sqrt N次查询n次,那么用线段树维护十分不划算,所以我们考虑提高查询复杂度而降低插入复杂度。于是我们想到了分块。我们对数值分为根号块,维护块内每个数出现次数和答案。那么单次插入O(1),单次查询O(N−−√\sqrt N),总时间复杂度O(NN−−√N\
2017-08-20 22:32:30
499
原创 【JZOJ5250】【GDOI2018模拟8.11】质数
DescriptionData ConstraintSolution我们发现2f(n)2^{f(n)}就等于∑i|n[gcd(i,n/i)==1]\sum_{i|n}[gcd(i,n/i)==1] 所以题目就是求:∑i=1n∑j|i[gcd(j,i/j)==1]\sum_{i=1}^{n}\sum_{j|i}[gcd(j,i/j)==1]=∑j=1n∑i=1⌊n/j⌋[gcd(i,j)==1]=\
2017-08-20 22:14:30
382
原创 【JZOJ5249】【NOIP2017提高A组模拟8.10】文本编辑器
DescriptionData ConstraintSolution我们考虑用双向链表维护这个序列。但问题是怎样处理序列翻转的问题。我们考虑维护多一个反向序列,所有操作同时在两个序列上进行,只是将方向反转。当遇到一个翻转操作时我们就交换两个序列。时间复杂度O(N)。Code#include<iostream>#include<cmath>#include<cstring>#include<cs
2017-08-20 21:52:23
363
原创 【JZOJ5246】【NOIP2017模拟8.8A组】Trip
Description多年之后,worldwideD厌倦竞争,隐居山林。 他的家乡开始发展起了旅游业,在一条很长的主干道上,有N个旅游景点,按顺序编号为1到N。根据游客们网上的评分,第i个景点有一个评估值a[i],为了区分开不同的景点,评估值是两两不同的。 今天有M组游客前来旅游,第i组游客选择遍历景点Li到景点Ri这一段路。他们搜到Li到Ri的所有评估值,如果对于景点j(Li≤j≤Ri),不存
2017-08-09 11:02:36
393
原创 【JZOJ5244】【NOIP2017模拟8.8A组】Daydreamin
DescriptionworldwideD最近有午睡的习惯~ 某日中午,他做了一个梦:梦见有一个怪人,她去一个岛上住N+1天(编号为0到N)。这是在大洋中的岛,每天要么是晴天,要么刮台风。 她到达岛的第0天是晴天(这样她才能上岸)。然后对于第i天,假如是晴天,那么有P(0Data Constraint30%:N≤20 50%:N≤2,000 100%:1≤M≤N≤1,000,000 1≤A
2017-08-09 10:54:07
415
原创 【JZOJ5239】【GDOI2018模拟8.7】图的异或
DescriptionData ConstraintSolution这道题要用线性基来做,看到一个博客讲线性基感觉挺好[学习笔记]线性基 线性基的目的就是用log个数的任意异或起来的集合表示一堆数任意异或起来的集合。 对于这道题,我们跑一个s出发的dfs树,然后对于每一条返租边或自环,我们将他们放进一个集合,他们任意异或后的值异或上s到t的异或值的和就是答案。 我们求出线性基和s到t的异或值d
2017-08-09 10:50:34
386
原创 【JZOJ5238】【GDOI2018模拟8.7】的士碰撞
Descriptionn辆车在一条数轴上,车的编号为1到n。编号为i的车坐标为a[i],初始方向为dir[i](左或右),初始位置两两不同。每辆车每个时刻行走距离为1。两辆车相碰时,会调转方向,继续行走,掉头不消耗时间。现在车子开始朝其方向行驶,同一个坐标允许有多辆车。现在有q个询问,给出 t,i,询问过了t时刻后,编号为i的车的坐标的绝对值。Data ConstraintSolution考场上理解
2017-08-09 10:37:17
472
原创 【JZOJ5237】【GDOI2018模拟8.7】最长公共子序列
DescriptionData Constraint对于20%的数据,n,m<=10 对于40%的数据,n,m<=20 对于60%的数据,n,m<=100 对于80%的数据,n,m<=1000 对应100%的数据,n,m<=5000,保证序列只包含小写字母。Solution这道题和之前做的一道题好像啊,然后就往那个方向去想,搞了1个半小时,最后才发现这道题是弱化版,根本不需要之前的做法。
2017-08-09 10:31:02
494
原创 【JZOJ3773】【NOI2015模拟8.15】小 P 的烦恼
Description小 P 最近遇上了大麻烦,他的高等代数挂科了。于是他只好找高代老师求情。善良的高代老师答应不挂他,但是要求小 P 帮助他一起解决一个难题。 问题是这样的,高代老师近期要组织班上同学一起去漂流,漂流可以看做是在一张 n 个点 m 条边的有向无环图上进行的,点编号从 0 到 n-1 ,表示景点; 边是连接各景点的一定长度的河道。同时,定义编号为 s 是起点而 t 是终点。我们不妨
2017-08-09 10:23:11
356
原创 【JZOJ3771】【NOI2015模拟8.15】小 Z 的烦恼
Description小 Z 最近遇上了大麻烦,他的数学分析挂科了。于是他只好找数分老师求情。 善良的数分老师答应不挂他,但是要求小 Z 帮助他一起解决一个难题问题是这样的,现在有 n 个标号为 1~n 的球和 m 个盒子,每个球都可以放进且只能放进一个盒子里面,但是要满足如下的规则: 1. 若把标号为 i 的球放进了第 j 个盒子,那么标号为 2*i 的球一定要在第 j+1 个盒子里面(若
2017-08-09 10:15:09
506
原创 【JZOJ5233】【GDOI模拟8.5】概率博弈
Description小A和小B在玩游戏。这个游戏是这样的: 有一棵n个点的以1为根的有根树,叶子有权值。假设有m个叶子,那么树上每个叶子的权值序列就是一个1->m 的排列。 一开始在1号点有一颗棋子。两人轮流将这颗棋子移向其当前位置的一个儿子。假如棋子到达叶子,游戏结束,最终获得的权值为所在叶子对应权值。 小A希望最后的权值尽量大,小B希望尽量小。小A是先手。 在玩了很多局游戏后,小B对其
2017-08-09 10:04:38
493
原创 【JZOJ5232】【NOIP2017模拟A组模拟8.5】带权排序
DescriptionData Constraint对于20%的数据,n<=6,0<=li<=ri<=15 对于40%的数据,n<=10,0<=li<=ri<=20
2017-08-09 09:54:17
441
原创 【JZOJ5231】【NOIP2017模拟A组模拟8.5】序列问题
DescriptionData Constraint对于30%的数据,n<=5000 对于60%的数据,n<=50000 对于100%的数据,n<=500000,0<=A[i]<=10^9Solution这道题有很多种解法,我这里主要讲讲分治和线段树两种解法。 分治:我们对于每一次二分出来的mid,我们考虑4种情况:最大值最小值在同一边且跨过mid(左右),最大值最小值不在同一边且跨过mid(
2017-08-09 09:44:11
595
原创 【JZOJ2702】【GDKOI2012模拟02.01】探险
DescriptionData Constraint对于30%的数据,n<=500,m<=10000 对于60%的数据,n<=2000,m<=50000 对于100%的数据,n<=10000,m<=200000,1<=w,v<=10000 Solution我们要求最后不能经过同一暗道两次,所以我们用spfa求出起点到每个点在第一条出边不相同的情况下的最短路和次短路。然后枚举一条直接连向起点的边,
2017-07-15 22:14:57
354
原创 【JZOJ2701】【GDKOI2012模拟02.01】矩阵
DescriptionData ConstraintSolution我们可以现二分答案。 对于一个二分的答案mid。我们对行和列分别进行讨论。 对于B矩阵的一行,满足|A−B|<=mid|A-B|<=midA−mid<=B<=A+midA-mid<=B<=A+mid,同时L*m<=B<=R *m。所以我们就可以找到B这一行的范围[mi,mx]。当然要mi<=mx。把所有mi累加,把mx累加,我们
2017-07-15 21:57:24
450
原创 【JZOJ2700】【GDKOI2012模拟02.01】数字
DescriptionData ConstraintSolution比赛时离正解就差一步…… 我们打个表找找规律后发现:X*D(X)=i *i+9 *i *k,i∈[1,9],那么对于一个询问,我们可以通过枚举i来确定k的最大值计算数量。对于询问[l,r]我们可以用[1,r]-[1,l-1]来解决。 问题来了:一个x*d(x)可能在不同的i中出现(如125*d(125)=1000*d(1000)
2017-07-15 21:37:43
438
原创 【JZOJ4426】【HNOI2016模拟4.4】Stage
DescriptionData ConstraintSolution我们发现答案就是每个团伙被监视到的概率之和。 正难则反。我们考虑每个团伙不被监视到的概率。若一个团伙不被监视,那么该团伙一定可以和布控的教室构成一个凸包。所以我们枚举团伙,将所有教室极角排序,然后枚举其中一个教室,另一个指针右移,计算出这两个教室必选而教室与团伙夹角之外的点都不能选的概率。时间复杂度O(N*MlogM).Code#
2017-07-14 22:10:02
432
原创 【JZOJ4425】【HNOI2016模拟4.4】Fenwit
DescriptionData ConstraintSolution这道题很多人用FWT过了,毕竟题目名就这样…… 那我们另辟蹊径,想想矩阵乘法怎么做。 我们要确定F0的任何一项j对于Ft的任何一项k的系数。那么我们发现j转移至k的途中系数只与转移a^b的1的个数有关。所以我们发现这T次转移只是个填1的问题:现在有一个T行m列的矩阵,每一行你要填上若干个1,是的最后j转移至k。那我们发现对于一个
2017-07-14 22:02:22
490
原创 【JZOJ5229】【GDOI2018模拟7.14】小奇的糖果
Description有 N 个彩色糖果在平面上。小奇想在平面上取一条水平的线段,并拾起它上方或下方的所有糖果。求出最多能够拾起多少糖果,使得获得的糖果并不包含所有的颜色。Data Constraint对于 30% 的数据,N ≤ 100; 对于 60% 的数据,N ≤ 5000; 对于 100% 的数据,N ≤ 100000,K ≤ 100000,T ≤ 3。Solution我们可以枚举哪颜色
2017-07-14 21:28:36
376
原创 【JZOJ5224】【GDOI2018模拟7.12】C
DescriptionData ConstraintSolution首先必须讲讲自然数幂求和。 我们设Sk(n)=∑i=1nikSk(n)=\sum_{i=1}^ni^k 我们用第一类斯特林数来计算。 由第一类斯特林数的定义可知Cpn=Ppnp!=S(p,p)np−S(p,p−1)np−1+……S(P,0)n0p!C^p_n={P^p_n\over p!}={S(p,p)n^p-S(p,p-1
2017-07-12 22:43:44
459
原创 【JZOJ5222】【GDOI2018模拟7.12】A
Description 注意:题意有误,IQ小于等于的都会听从指挥Data ConstraintSolution这道题,有两个坑,首先,IQ小于等于的都会听从指挥,这在做题时居然没讲,居然还有人AC了!!!其次,士兵的IQ可以为0,这小学都没上就去打仗了吧? 然后我用暴力过了^^但后来还是打了遍正解。 下面讲一下正解。 我们考虑当一个操作在x时,我们发现IQ大于a[x]的其往后的逆序对是不变
2017-07-12 22:16:58
468
原创 【JZOJ5220】【GDOI2018模拟7.10】C
DescriptionData ConstraintSolution我们设dp[i][j]表示最长公共子序列。正常求。同时我们设f[i][j]表示在满足当前dp[i][j]的情况下前i个x中的子序列有多少是满足是y的子序列。那么我们枚举一下:若当前的子序列中匹配不包括i,那么我们考虑若dp[i-1][j]==dp[i][j],那么f[i][j]+=f[i-1][j]。若当前的子序列中匹配包括i,那么
2017-07-10 15:48:23
545
原创 【JZOJ5219】【GDOI2018模拟7.10】B
DescriptionData ConstraintSolution我们发现序列只要求相对大小。所以我们设dp[i][j]表示当前匹配到第i个位置,i位置上放的点的值为j的方案,同时保证前i个数放的值都∈[1,i],每次我们枚举i-1位放什么,若当前状态为’I’,[j,i-1]所有数+1,在[1,j-1]中枚举i-1位放的数。若当前状态为’D’,同时[j,i-1]所有数+1,在[j,i-1]中枚举i
2017-07-10 15:40:44
536
原创 【JZOJ5215】【GDOI2018模拟7.9】组合数问题
DescriptionData ConstraintSolution其实式子很显然,但就是没看出来。最恐怖的是还没看到rCode#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>#define ll long longusing namespace std;const
2017-07-10 10:51:29
349
原创 【GDSOI2017】 中学生数据结构题
DescriptionData ConstraintSolution看到SHIFT操作,很显然就想到了splay中的翻转操作,还在树上,我们就考虑LCT。 但想了一会我们发现,直接SHIFT操作会破坏LCT树中的点与点的连接关系。 于是我们考虑维护两颗LCT,一颗维护树的形态,一颗维护树中的权值,保证对于一个维护树的形态的LCT中的splay,维护树中权值的LCT中都有一个大小相同的与之对应的s
2017-06-04 16:06:19
672
原创 【JZOJ5105】【GDSOI2017】魔兽争霸 x
DescriptionData ConstraintSolution我们发现答案最多只有两条直线构成,自己简单画一下就成。 现在问题成了如何求两条直线构成的最优方案。 我们设两条向量分别为(a,b),(c,d),价值分别为e,f,那么设(a,b)的时间为x,我们可以发现在n−a∗xc<m−b∗xd{n-a*x\over c}<{m-b*x\over d}时,f(x)=ex+f∗n−a∗xc=(e
2017-05-07 13:32:47
754
原创 【JZOJ5102】【GDOI2017 day2】小学生语文题
DescriptionData ConstraintSolution这道题考场上没想到可以倒着dp,感觉dp都白学了。 我们设出f[i][j]表示当前正确串匹配到i,原串匹配到j,i正对着j,i-n中的每个字符j-n中都可匹配的最小步数。我们现在考虑转移。 1、假设当前的j+1我们对其进行操作使它往前丢,那么f[i][j]=f[i][j+1]+1。 2、假设当前的s[i]==s1[j],那么f
2017-05-07 13:24:01
948
4
原创 【JZOJ5101】【GDOI2017 day2】凡喵识图
DescriptionData ConstraintSolution这道题虽然加了随机化,但理论复杂度还是O(N^2)…… 我们可以将64位随机分成4块,然后我们每次选出不变的一块,对这一块与当前串完全相同的串与当前串进行匹配。Code#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<alg
2017-05-07 13:11:48
704
原创 【JZOJ5100】【GDOI2017 day2】RPG
Description 这是一个传说中的勇者凡喵,救出被掳走的公主,顺道打倒妄图控制世界的恶龙拯救世界的故事。 有趣的是,凡喵这一次进入恶龙巢穴时,发现恶龙刚好外出。于是凡喵决定先去拯救公主,至于拯救世界什么 的,还是开心最重要。 凡喵出发前从冒险者公会购买了一张恶龙巢穴的地图。 恶龙巢穴建立在地下。一共有 H 层,从地下 1 层到地下 H 层。每层是一个迷宫,有 N
2017-05-07 13:07:22
500
原创 【JZOJ5098】【GDOI2017 day1】微信
DescriptionData ConstraintSolution我们可以建出一颗trie,在trie上建广义后缀自动机sam,在sam上打好二进制标记,由于sam中fa[x]与x的关系是fa[x]的right集包含x的right集,所以我们可以将x的二进制与fa[x]or一下并更新答案,最后我们还可以发现一个二进制的答按肯定没有它的子集劣,O(2^N*N)下传一下即可,对于询问O(1)输出。Co
2017-05-07 13:02:16
694
原创 【JZOJ5097】【GDOI2017 day1】取石子游戏
Description经过了与中山大学学生处软磨硬泡之后,凡喵、叶妹、yzx 和图图终于成为了舍友。如果你不想和题面软摩硬 泡的话,请直接跳到加粗的部分开始读。 这道题目来源于宿舍中发生的一件小事。为了简明扼要地把这道题叙述清楚,对这个故事的内容进行了极大 的简化。如果想看这个题目的完整版本,凡喵很愿意提供给大家。详见随题目下发的文件。 这天叶妹去改 (san) 题 (guo) 目 (sha)
2017-05-07 12:20:38
1202
原创 【JZOJ5096】【GDOI2017 day1】房屋购置
Description 涛涛最近准备要结婚了,但这在这之前他需要买套房子。买房子的确是人生大事哟,所以涛涛要好好斟酌。 于是他去房屋中介网上爬到了各种房子的数据,并得到了这些房子的特征,但是现在有一个问题感到很困惑, 但他知道你编程贼 6,所以希望你能帮帮他。 现在有 N 幢房子,每幢房子用一个字符串 si 来描述。但同样的房子不同的开发商会用不同的词汇来描述。 某些字符串存在
2017-05-07 12:14:31
730
原创 后缀自动机
#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;const int maxn=1e6;struct code{ int fa,len,a[26];}f[maxn];int n,i,t,j,k,l,x,y,z,num
2017-04-28 12:09:56
293
原创 后缀数组
#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;const int maxn=5e5+5;int t1[maxn],se[maxn],rank[maxn],sa[maxn],zs[maxn];int n,i,t,j,k,l,
2017-04-28 12:09:14
327
原创 【JZOJ5082】【GDSOI2017第三轮模拟】Informatics Training
DescriptionData ConstraintSolution这是道数据结构的裸题。我们对于每一组分别维护两个set,一个以体力为关键字,另一个以刷题量为关键字,再全局维护一个系统编号的set和一个维护每组刷题量最小值的set。对于加入操作,我们直接新开一个set就好。对于P操作,我们可以直接在该点所在的set中查找出信息,并作修改。对于D操作,我们存两个个数组表示每个组整体的体力和刷题量增减
2017-04-22 16:53:00
417
原创 【JZOJ5081】【GDSOI2017第三轮模拟】Travel Plan
DescriptionData ConstraintSolution这和以前的一道题很像啊。我们发现∑ci\sum ci太大了,而∑vi\sum vi的大小可以接受, 所以我们设出f[i][j]表示当前做到dfs序中第i个物品,选出物品价值和至少为j的最小代价。这可以在O(N∑viN\sum vi)内解决。然后我们考虑不选某子树的物品,即在dfs序中有一段物品不选择。所以我们在处理一个g[i][j]
2017-04-22 16:29:04
368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅