杂题
Master.Yi
学习他人,提升自己;
提升自己,帮助他人。
展开
-
LOJ#3298. 「BJOI2020」封印
题目描述:n,q≤2∗105n,q\le2*10^5n,q≤2∗105题目分析:对 ttt 建 SAM,对 sss 的每个前缀求出能够在 ttt 中匹配的最长后缀长度 fif_ifi(在SAM中走转移边和fail边实现)那么对于询问 [l,r][l,r][l,r],要求的就是 maxl≤i≤r{min(fi,i−l+1)}\max_{l\le i\le r}\{\min(f_i,i-l+1)\}maxl≤i≤r{min(fi,i−l+1)}对于一个 lll,我们求出 prelpre_l原创 2020-07-07 09:20:20 · 275 阅读 · 0 评论 -
20200627 多校难题训练二
2020 Petrozavodsk Winter Camp, Jagiellonian U ContestG. Invited Speakers给出 nnn 张桌子和 nnn 个人的坐标,将其一一配对,配对可以用一些线段连接,线段不能交叉。求方案。所有点横纵坐标都不一样。设一个大常数 CCC,先将桌子和人分别按照横坐标排序,然后这样构造:即 (ax,ay)→(ax,C+i)→(C+i,C+i)→(C+i,C−i)→(bx,C−i)→(bx,by)(a_x,a_y)\to (a_x,C+i)\to原创 2020-06-29 19:40:46 · 666 阅读 · 0 评论 -
20200625 ICPC2018~2019作业
2019 ICPC Asia-East Continent Final C. Dirichlet k-th root定义 ∗*∗ 为狄利克雷卷积,(f∗g)(n)=∑d∣nf(d)g(nd)(f*g)(n)=\sum_{d|n}f(d)g(\frac nd)(f∗g)(n)=∑d∣nf(d)g(dn),给出 nnn,fkf^kfk,kkk,求 fffn≤105, mod =998244353,k< mod n\le 10^5,\bmod =998244353, k< \bmodn≤105原创 2020-06-26 19:55:14 · 345 阅读 · 0 评论 -
20200615 仙人掌、圆方树、支配树、跳舞链作业
[APIO2018] Duathlon 铁人两项无向图,选三个不同的点s,c,fs,c,fs,c,f,使得存在一条s→c→fs\to c\to fs→c→f的简单路径,求方案数。题解:圆方树,缩点双。两个圆点树上路径中经过的方点对应点双中的点都可以作为ccc。方点权值为点双大小,圆点权值为-1,那么可选的ccc的数量就是路径点权和。统计一个点被多少圆点路径经过即可,简单树上DP。Code:#include<bits/stdc++.h>#define maxn 200005#def原创 2020-06-15 22:49:26 · 273 阅读 · 0 评论 -
Codeforces1286F Harry The Potter【转换 + 子集卷积】
题目描述:n≤20,∣ai∣≤1015n\le20,|a_i|\le10^{15}n≤20,∣ai∣≤1015题目分析:将操作2看做一条边,如果最后的方案连出了一个环,那么将这个环上所有的边换成操作1不会更劣。所以最优方案一定是操作二连成森林,然后剩下的点用操作一。因为一棵树可以减少1次操作,所以我们想要分出尽量多的连通块。考虑怎么判断集合SSS能否使用S−1S-1S−1操作二清零:随便选一个点作根,假设每条边两端减掉的值都是xxx,从叶子开始依次减,那么减到根的时候将根此时的权值用变量表原创 2020-05-27 18:47:07 · 315 阅读 · 0 评论 -
洛谷P3722 [AH2017/HNOI2017]影魔【区间查询 差分】
题目描述:给出一个111到nnn的排列,一个数对i,j(i<j)i,j(i<j)i,j(i<j)的贡献定义为:令x=maxk=i+1j−1akx=\max_{k=i+1}^{j-1}{a_k}x=maxk=i+1j−1ak(若i==j−1i==j-1i==j−1则x=0x=0x=0)若x<min(ai,aj)x<\min(a_i,a_j)x<min...原创 2019-12-29 22:16:30 · 224 阅读 · 0 评论 -
CSP-S模拟赛20190921 T3 御神渡【分治求异色点之间的凸包】
题目描述:N≤105N\le10^5N≤105题目分析:边(i,j)(i,j)(i,j)的权值是Ci+Cj−Ai∗AjC_i+C_j-A_i*A_jCi+Cj−Ai∗Aj,本质上是最小生成树问题。但是n≤105n\le10^5n≤105。不难用反证法证明一个集合向外的所有边中最小的边一定在最小生成树中,基于这个基本性质,我们考虑与一个点相连的所有边中的最小值。令z=Ci+Cj...原创 2019-09-22 22:22:54 · 350 阅读 · 0 评论 -
BZOJ1257: [CQOI2007]余数之和【整除分块】
题目描述:给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值其中k mod i表示k除以i的余数。例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7n,k<=109题目分析:把抽象的东西具象化(数学化,公式化):kmod...原创 2019-09-14 20:58:49 · 184 阅读 · 0 评论 -
BZOJ2456: mode【趣题】
题目描述:找出n个数中出现次数大于n/2的数,保证存在,空间限制1MB。n<=500000。题目分析:有一个数的出现次数超过了n/2,那么我们可以用它来抵消其它的数。具体做法就是依次读入,然后不同的数抵消,相同就cnt++,留下的数就是答案。Code:#include<cstdio>int main(){ int n,x=-1,y,s=0; scanf("%d...原创 2019-09-14 20:36:15 · 191 阅读 · 0 评论 -
NOIP模拟赛20190905
T1大水题,Skip。T2 将军令洛谷P3942 将军令树,一个点驻队可以控制距离小于等于k的点,求控制所有点的最小驻队数。n<=100000,k<=20贪心解法:按深度从大到小排序,拿出最深的一个,如果没有被控制就找k级祖先然后暴力遍历,复杂度O(nk)维护两个值:下面的驻队点到当前点还能延伸的距离,下面未被控制的点的最深深度,贪心放点。复杂度O(n)DP解法:...原创 2019-09-06 22:44:31 · 176 阅读 · 0 评论 -
NOIP模拟赛20190902
T1洛谷P3938 斐波那契带编号的斐波那契兔子,m个询问,给出两只兔子的编号,求最近公共祖先编号。记兔子总数为fif_ifi,如果fi−1<x≤fif_{i-1}<x\le f_ifi−1<x≤fi,那么xxx就是由fi−2f_{i-2}fi−2生出来的。x−fi−1x-f_{i-1}x−fi−1就是xxx父亲的编号。斐波那契数60项就到了101...原创 2019-09-06 22:29:18 · 226 阅读 · 0 评论 -
2019HDU多校赛第九场
1001 Rikka with Quicksort已知递推式:给出1≤m≤n≤1091\le m\le n\le10^91≤m≤n≤109,求gm(n)g_m(n)gm(n) mod 109+7先不考虑mmm,暂记为g(i)g(i)g(i)g(i)=i−1+2i∑j=0i−1g(j)i∗g(i)=i(i−1)+2∑j=0i−1g(j)(i−1)∗g(i−1)=(i−1)(i−2)+2∑...原创 2019-08-30 16:39:09 · 432 阅读 · 0 评论 -
Codeforces Round #536 div2 题解
题目传送门:#536 div2A. Lunar New Year and Cross Counting题目描述:给一张n∗n(n≤500)n*n(n\le 500)n∗n(n≤500)的网格图,由’.‘和’X’组成。一个Cross指的是左上右上左下右下及自己都是’X’,统计Cross的数量,两个Cross可以部分重合。这就是一个Cross。题目分析:。。模拟题意就好了,签到题。Co...原创 2019-05-15 15:15:40 · 306 阅读 · 0 评论 -
NOIP模拟赛 CQBZ 3501. survive【并查集+倍增】
题面:n,m≤105n,m\le10^5n,m≤105题目分析:容易想到的暴力做法是把每次的区间要求[l,r]拆分成r-l+1个单点要求,并查集维护单点要求,最后扫一遍查询。复杂度是O(nmα)O(nm\alpha)O(nmα)的,但是由于出题人太过良心,这样你就能得到80分。把要求每次拆分很显然要T,我们考虑优化每次的要求,其时间就浪费在重复要求已经相等的点对上。怎么办呢,其实只要...原创 2019-07-10 21:39:03 · 205 阅读 · 0 评论 -
OpenCup 2015: Chemistry【构造(完全不可能想得到)题】
题目描述:vjudge题目链接 给出n个杯子,每个杯子有一(纳)升的水,每次从一个杯子向另一个杯子倒水,使得后一个杯子的水变成原来的两倍,求出一种操作方案,使得最终第一个杯子有m升水,或无解。题目分析:构造神题。这里的最下面是某位GrandMaster的题解:惊为天人。然而考场还是有巨佬凭借超强的找规律+揣测结论切了这道题。我就概括一下上面的段意:k=2xk=2^xk=2x,...原创 2019-07-06 21:44:50 · 223 阅读 · 0 评论 -
NOIP模拟赛 魔王降临(2) 洪流【区间最大字典序子串】
题目描述:给定一个长度为N的字符串s和M个询问, 每次询问一个区间[l, r]的最大字典序子串。输出共M行, 第i行输出一个整数, 表示你的答案子串的起始位置。1 ≤ N,M ≤ 200000题目分析:首先,区间最大字典序子串一定是一段后缀。我们把询问离线,按右端点从小到大排序,然后从左到右扫,扫到位置ppp,就回答r=pr=pr=p的询问。对于一个固定的右端点,随着左端点的增加,答...原创 2019-07-11 20:41:54 · 324 阅读 · 0 评论 -
JeremyGuo的NOIP(+)模拟赛
T1 水池n,m,L≤1000n,m,L\le1000n,m,L≤1000题目分析考虑积水从最低的高度慢慢往上涨,什么时候会流出去,记vis[i][j]=1表示(i,j)已经流出去了。从小到大枚举高度H,枚举高度=H的点(用vector实现),在点四周的高度<=H的块相当于连通了。如果四周有一个已经流出去的块,意味着这整个连通块(除了已经流出去的部分)在积水高度超过H的时候就会流出...原创 2019-07-27 19:14:20 · 288 阅读 · 0 评论 -
NOIP模拟赛0815
T1题目链接:洛谷P5427题目大意:一个n*n的01矩阵,可以任意翻转一行或者一列,不限次数,最终要得到一个有且仅有一个点与其他点不同的矩阵,问这个点可能是哪个点,输出最靠前的一个。n<=1000。题目分析:这种棋盘翻转题,需要考虑一定的顺序,固定一些东西。因为可以整体翻转,所以我们不妨定下来(1,1)的点不动,这意味着第一行和第一列不能再翻转。然后看第一行和第一列的点,如果与...原创 2019-08-15 21:51:31 · 147 阅读 · 0 评论 -
NOIP模拟赛0816
T1hotel,线段树模板。(但是查询忘了写pushdown居然还过了 )T2题目分析:相当于用大的往小的填,一个数的填充范围一定是连续区间。所以区间[l,r][l,r][l,r]可行,等价于sum[r]−sum[l−1]≥(r−l+1)∗ksum[r]-sum[l-1]\ge (r-l+1)*ksum[r]−sum[l−1]≥(r−l+1)∗k移项,有sum[r]−r∗k≥su...原创 2019-08-16 17:32:02 · 147 阅读 · 0 评论 -
2019HDU多校赛第十场
Problem E. Welcome Party枚举S集合最大的xxx,记为xix_ixi,那么T集合中最大的yjy_jyj需要满足j!=i,yj≥yk,k∈{k∣xk≥xi}j!=i,y_j\ge y_k,k\in\{k|x_k\ge x_i\}j!=i,yj≥yk,k∈{k∣xk≥xi}从大到小枚举xix_ixi,会对yjy_jyj的选择有限制,维护一下可选的y的范围(一...原创 2019-08-27 20:23:16 · 546 阅读 · 1 评论 -
Codeforces Round#543 div1 题意及题解
题目传送门:#543 div1A. Diana and Liana题目描述:有一株很长的藤本植物,它的组成可以用一个长度为mmm的正整数序列aia_iai来表示,这株植物将被从下标为1的位置开始,每次切出长度为kkk的一段,总共nnn段(保证m≥n∗km\ge n*km≥n∗k)。Diana希望切出的某一段中包含她想要的数,用长度为sss的正整数序列bib_ibi来表示,如果数字xx...原创 2019-05-15 08:46:42 · 636 阅读 · 0 评论