2021.7.28考试总结[NOIP模拟26]】的更多相关文章

罕见的又改完了. T1 神炎皇 吸取昨天三个出规律的教训,开场打完T2 20pts直接大力打表1h. 但怎么说呢,我不懂欧拉函数.(其实exgcd都忘了 于是只看出最大平方因子,不得不线性筛,爆拿60 正解又是看不懂的东西,取a和b的gcd d,把a,b同除d得到A,B,很容易想到(但好像不太容易证)A+B与AB互质. 那么要保证(A+B)d|ABd2,就要使(A+B)|d.又因为(A+B)d<n,所以(A+B)<根号n. 直接枚举A与B的和k,可以知道符合互质的AB数对有φ(k)对,d有n/…
T1 三元组 发现确定\(b,c\)的情况下,\(a\)的值域是连续的.确定\(b\)后\(a+b\)的取值是\([1+b,b+b]\).树状数组维护对每个\(b\)可行的\(c\). 注意取模后取值可能跨越多次值域. \(code:\) T1 #include<bits/stdc++.h> #define int long long using namespace std; namespace IO{ int read(){ char ch=getchar(); int x=0,f=1; w…
有的考试表面上自称NOIP模拟,背地里却是绍兴一中NOI模拟 吓得我直接文件打错 T1 Skip 设状态$f_i$为最后一次选$i$在$i$时的最优解.有$f_i=max_{j<i}[f_j+a_i-\frac{(j-i)\times (j-i-1)}{2}]$ 设$j<k$,对$i$来说,$k$优于$j$,当且仅当$2\times i>\frac{2\times(f_j-f_k)+k^2+k-j^2-j}{k-j}$ 斜率优化,$CDQ$分治,先按$a$排序,分治中按$id$排序满足限…
T1 路径 考虑每一位的贡献,第$i$位每$2^i$个数会变一次,那么答案为$\sum_{i=1}^{log_2n} \frac{n}{2^i}$. $code:$ 1 #include<bits/stdc++.h> 2 #define int unsigned long long 3 using namespace std; 4 5 namespace IO{ 6 inline int read(){ 7 char ch=getchar(); int x=0,f=1; 8 while(ch&…
T1 Dove玩扑克 考场并查集加树状数组加桶期望$65pts$实际$80pts$,考后多开个数组记哪些数出现过,只扫出现过的数就切了.用$set$维护可以把被删没的数去掉,更快. $code:$ 1 #include<bits/stdc++.h> 2 #define int long long 3 using namespace std; 4 const int NN=1e5+5; 5 int n,m,op,x,y,fa[NN],siz[NN],sum,cnt[NN],nums[NN]; 6…
T1 牛半仙的妹子图 做法挺多的,可以最小生成树或者最短路,复杂度O(cq),c是颜色数. 我考场上想到了原来做过的一道题影子,就用了并查集,把边权排序后一个个插入,记录权值的前缀和,复杂度mlogm挺优秀. 后来发现wlr都是1e9,一个个求前缀和直接炸了,考场上感觉l,r,w差值对答案有影响就没离散化,开了个map记出现的w的前缀和,其他都能O1计算. 这不切了吗?年轻的我如是想到. 于是我领略到了map80倍常数的威力.离散化开数组再带到初值计算就A了. 考场拿了75pts还WA了仨点,据…
ZJ模拟D2就是NB.. T1 Star Way To Heaven 谁能想到这竟是个最小生成树呢?(T1挂分100的高人JYF就在我身边 把上边界和下边界看成一个点和星星跑最小生成树,从上边界开始跑到下边界,一定会出现一条将矩阵纵向一分为二的折线,其中线段都是最小距离,答案就是其中最长的线段的一半. 我直呼NB 由于这是个完全图,kruscal比prim多个log,会炸. code: 1 #include<bits/stdc++.h> 2 #define debug exit(0) 3 us…
首先看到这样中二的题目心头一震.... 然而发现又是没有部分分数的一天. 然而正解不会打.... 那还是得要打暴力. 但是这套题目有两个题目只有一个参数. 所以... (滑稽).jpg 然后我就成功用这个性质骗到了 \(20pts\) 然而差点没骗到... 神炎皇: 考虑最最暴力的想法... 实际上就是题目说啥你干啥. 然后 \(20pts\) 低分.. 但是我们可以发现这个和欧拉函数有关. 可以粗略地证明一下: 我们知道 \(x\) 与 \(y\) 互质,那么 \(x\) 和 \(x+y\)…
T1 ZYB和售货机 容易发现把每个物品都买成$1$是没有影响的. 然后考虑最后一个物品的方案,如果从$f_i$向$i$连边,发现每个点有一个出度多个入度,可以先默认每个物品都能买且最大获利,这样可以建出每个点出度入度都是$1$的图. 把所有边都连上是一个基环树,所以建出的若干个联通图中只有一个环.而我们要做的工作就是用最小代价把这个环断掉,形成的树上所有边都可以对答案贡献. 记每个物品的最大获利和次大获利,在图上$DFS$,每到一个点先加上最大获利,记录路径上最大获利与次大获利差的最小值,如果…
T1 茅山道术 仔细观察发现对于每个点只考虑它前面第一个与它颜色相同的点即可. 又仔细观察发现对一段区间染色后以这个区间内点为端点的区间不能染色. 于是对区间右端点而言,区间染色的贡献为遍历到区间左端点时的方案数.线性$DP$. $code:$ 1 #include<bits/stdc++.h> 2 #define int long long 3 using namespace std; 4 5 namespace IO{ 6 inline int read(){ 7 char ch=getc…