10 2018 档案
摘要:T1:这道题除了题目有点难理解,别的都好。 链接: "physics" T2:数学题,考场看错题了3h,心态爆炸。 链接: "math" T3:50分基准分走人喽。 题解似乎是说离线,以时间建一颗线段树,在线段树上分治,用一颗支持撤回的并查集来维护。
阅读全文
摘要:20%的数据直接暴搜就行,接下来我们考虑哪些数不能够出现在同一个集合中,就连一 条边,我们会发现前𝑛个数被我们分成了若干条链,每条链上实际只有两种选法。 于是我们就可以考虑最暴力的$𝑑𝑝$了,设$𝑓(𝑖,𝑗)$表示当前$𝑑𝑝$到第$𝑖$条链,一共选了$𝑗$个数的方案。如果当前链长
阅读全文
摘要:这道题可以推出$O(1)$的算法,但是实际上暴力模拟就可以过了。 代码(暴力模拟):
阅读全文
摘要:T1:这道题虽然是今天最简单的,但是我依然没想出来。。。 链接: "tree" T2,T3过于毒瘤,留坑
阅读全文
摘要:题意:给你一颗树,树上每个节点都有一个权值,多次询问树上的一条链的严格上升子序列长度 这道题是个神奇的倍增,先记录$fa[x][0]$为$x root$路径上第一个权值比他大的点,然后顺便处理出需要跳几步能跳到最靠近根的那个比他大的点(即上升子序列的长度) 对于询问,倍增询问即可。 细节: 1、对于
阅读全文
摘要:T1:我写了两个小时的错误算法,光荣拿下40分,知道正解的我眼泪留下来。。 T2:我实在是没想到这道题怎么写,考完后有人跟我说线段树合并???woc,我怎么没想到,这就是个板子题!!!其实这题很多算法都能写,such as虚树,平衡树启发式合并,线段树合并,但是由于这是noip模拟赛,标算是分治。
阅读全文
摘要:结论巨好想,每一次操作可以看作把一个b往前移一位,另一个b往后移一位,逆序对个数不改变,判断即可做第一问。 此处代码仅给出第一问做法: c++ include include using namespace std; int n,f[1000001],g[1000001]; char a[10000
阅读全文
摘要:这题就是个线段树合并板子。 c++ include include include using namespace std; int f[400001],n,m,pre[800001],cnt,rt[400001],ls[10000001],rs[10000001],nxt[800001],h[40
阅读全文
摘要:一道$dp$题。。。 期望$40$分解法 预处理:离散化,然后让连续一段值相同的元素合并为一个元素。 正式$DP$: 显然有个最差策略为每个元素处都切一次,则切的次数为元素的个数$ 1$ 相对地来说就是假设全部元素之间就已经切开,要尽量多地合并元素 $DP$的第一维用来确认当前是合并了值为多少的两个
阅读全文
摘要:建出最短路图之后$topsort$即可。 具体思路: 先用$dijkstra$算法在原图中跑出$1$号点到$i$号节点的最短距离$dist_1(i)$,将所有边反向后用$dijkstra$算法求出$i$号点到$2$号点的最短距离$dist_2(i)$; 再沿着最短路径找到从$1$号点到$i$号点的方
阅读全文
摘要:良心题,暴力枚举即可。 代码: c++ include include include using namespace std; int n,m,ans=1; int main() { scanf("%d%d",&n,&m); for(int i=1;i
阅读全文
摘要:T1:送分题啊,暴力$O(\sqrt{n})$就好了 链接: "gcd" T2:这个题有点小骚,看出最短路图了,看出$topsort$了,就是不会写,写到后面不会写了,唉,看了几眼代码就会写了。 链接: "route" T3:考场上看到一脸不可写。 链接: "seq"
阅读全文
摘要:T1:我不知道这是什么鬼啊,学长们推出一个部分分的结论,我就直接写了,18分,结果题目还锅了,不费改。 T2:这题也锅了,改完数据后据说别校全场切了,听到学长说的差分序列后就想出标算的做法了,可惜学长他们写的不一样。 链接: "sequence" T3:状压大模拟,太恶心了,留坑。。。
阅读全文
摘要:建出差分序列,可以发现最早出现的回文串就是答案,自己想想就懂了。 $O(N)$找出回文串就好了,字符串$hash$或者$manacher$都能在合法时间内得到答案。 c++ include include using namespace std; const int mod=1e9+7; int f
阅读全文
摘要:BZOJ3036绿豆蛙的归宿 Description 给出一个有向无环图,起点为$1$终点为$N$,每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点也都能够到达终点。绿豆蛙从起点出发,走向终点。 到达每一个顶点时,如果有K条离开该点的道路,绿豆蛙可以选择任意一条道路离开该点,并且走向每条
阅读全文
摘要:题目并不难,想一下就会了,我真的智商持续下降,取模情况下做除法我都没想到逆元。 总之想到逆元就好写了,还是$meet\ in\ the\ middle$裸题,数组开不下用$hash/map$存一下就好了. 提示: 1、特判$c==1$的情况 2、特判$c =p$的情况
阅读全文
摘要:题意:给你一棵$n$个节点的树,$q$个询问,每次询问读入$u,v,k,op$,需要满足树上有$k$对点的简单路径交都等于$u,v$之间的简单路径,$op=1$表示$k$对点中每个点只能存在于一个点对中,否则每个点可以存在于多个点对中,问那k对点有多少种选法,答案对$998244353$取模。 数据
阅读全文
摘要:题意:有$n$个物品,$m$块钱,给定每个物品的价格,求买物品的方案数。 $n include int n,sum;long long m,f[1500001],a[41],ans; void dfs(int x,long long now){ if(x n/2){f[++sum]=now;retu
阅读全文
摘要:T1:虽说大家都被cdq限制住了思维,我一个注意到了排列有问题的还是凉了,这个我没有一点办法了。 链接: "cdq" T2:留坑,太毒了 T3:考场上就不觉得能写,虽然心里想到一些做法,还是没写了,现在会写了,但是可能讲的不是很清楚。 链接: "hard"
阅读全文
摘要:一句话题意:给你三个数列{a_i},{b_i},{c_i},保证每个数列都恰好是一个排列。你需要求出满足$a_i include using namespace std; const int N = 2e6+5; unsigned int SA,SB,SC;int n,d[N],b[N],c[N];
阅读全文
摘要:T1:sb题,碰到原题了,usaco原题,可惜当年写的是$O(n^2)$的算法,usaco范围小能过,可是这个范围只有70分,随便想想写了个multiset就A了,算法复杂度$O(nlogn)$ 链接: "dream" T2:毒瘤题,待补。。 T3:巨水的一道题,就是没看出这是个二维偏序,然后就不会
阅读全文
摘要:一句话题意:给你一颗n个点的树,节点初始状态下都是白色,有q次修改,每次修改会把[li,ri]区间内的点染成黑色,并且问黑色点能形成几个联通块,然后会将所有点染回白色。(也就是说每次都只有[li,ri]这个区间内的节点是黑色的) 数据范围: 对于 30%的数据:n include define lo
阅读全文
摘要:一句话题意:讲什么题意啊,见 "usaco2017feb silver的T1" ,一模一样,就是牛和鸡的读入顺序反过来了一下,数据范围大了10倍,卡掉了$O(n^2)$的算法。 数据范围: 对于 30%的数据,n include include using namespace std; int n,
阅读全文
摘要:暂且不说知识储备问题,就我的常见错误给个总结: 1、数组看情况计算着开,也不能盲目的开大,顶着范围开也有一定概率会挂。 2、有些算法不会计算时间复杂度,我经常因为不确定时间复杂度(经常是因为$O(玄学)$的dfs之类的算法)能否通过题目而一直卡在一道题上。 3、注意题目的特性,善于找性质,不要总是想
阅读全文
摘要:题意:有n件行李,编号为1~n。行李的质量是模 P 意义下的(P不一定是质数)。有 k 个背包,要装下这些行李,为了方便在背包中找行李,每个背包中的行李编号是连续的,允许有背包为空。我们想让最重的背包尽量轻。你可以选择一个x(0 include include using namespace std
阅读全文
摘要:T1:算是sb题吧,我几乎完全不记得折半搜索了,虽然考试中想到过类似的做法,但是时间过不去就没想了。测试后惊讶发现我居然写过这道题,一模一样,但是一点印象都没有。也是个教训,以后学过的东西还是得复习。折半搜索这思路还是蛮简单的。 链接: "subsets" T2:这题是真的sao,我tm被这题坑死了
阅读全文
摘要:题意:给定一个{0,1,2,3,…,n 1}的排列 p。 一个{0,1,2 ,…,n 2}的排列 q 被认为是优美的排列, 当且仅当 q 满足下列条件 对排列 s={0,1,2,3,...,n 1}进行 n–1 次交换。 1. 交换 s[q0],s[q0+1] 2. 交换 s[q1],s[q1+1]
阅读全文
摘要:一句话题意:给你一个包含n个元素的集合,问有多少个非空子集,能划分成和相等的两份。(n include using namespace std; int now,n,h[1000011],nxt[1000011],a[1000011],B[1000011],A[1000011],nm[22],ans
阅读全文