T1 送花 线段树.枚举右端点,线段树记录左端点对应的值. 每次对当前颜色上上次出现的位置到上次出现的位置区间减,上次出现的位置到当前位置区间加. $code:$ 1 #include<bits/stdc++.h> 2 #define LL long long 3 using namespace std; 4 const int NN=1e6+5; 5 int n,m,c[NN],d[NN],pre[NN][2]; 6 LL ans; 7 inline int read(){ 8 int x=…
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…
败者死于绝望,胜者死于渴望. 前言 一看这个题就来者不善,对于第一题第一眼以为是一个大模拟,没想到是最小生成树. 对于第二题,先是看到了状压可以搞到的 20pts 然后对着暴力一顿猛调后来发现是题面理解错了. 最后 40min 的时候还是把目光投向了这个题的另一个部分分,然后搞了一个区间 DP 但是应该是 线性 DP. 然后我就又凉了,第三题第一眼是输,第二眼是 DFS 序,第三眼是 DFS 序上的线段树,再然后就老老实实去整暴力了. 后来题目名字在网上一搜,竟然都是歌名.. T1 Star W…
最近真的是爆炸啊... 到现在还是有不少没改出来.... 所以先写一下 \(T1\) 的题解.... 送花 我们移动右端点,之后我们用线段树维护全局最大值. 之后还要记录上次的位置和上上次的位置. 之后每次加和减. #include<bits/stdc++.h> using std::cout; using std::endl; #define try(i,a,b) for(register signed i=a;i<=b;++i) #define throw(i,a,b) for(re…
\(n=40\)考虑\(meet \;in \;the \;middle\) 某个元素有关的量只有一个时考虑转化为树上问题 对暴力有自信,相信数据有梯度 没了 UPD:写了个略说人话的. T1 最大或 选两个数,其中一个肯定选\(r\).另一个在不卡上界后二进制位全选\(1\). \(code:\) T1 #include<bits/stdc++.h> #define int long long using namespace std; namespace IO{ typedef long l…
6.17考试总结(NOIP模拟8) 背景 考得不咋样,有一个非常遗憾的地方:最后一题少取膜了,\(100pts->40pts\),改了这么多年的错还是头一回看见以下的情景... T1星际旅行 前言 考试的时候用一个自己感觉非常妙的思路骗了20pts,因为是双向边,所以分成两个边存,边的tot从2开始,这样可以保证没一组边的序号通过取\(xor\)可以相互转化. 然后对于每一个边记录经过次数,并且记一下经过次数为1和2的边的总数,然后对于dfs时转移的就是状压的每组边的状态,当然也可以拿Hash存…
5.23考试总结(NOIP模拟2) 洛谷题单 看第一题第一眼,不好打呀;看第一题样例又一眼,诶,我直接一手小阶乘走人 然后就急忙去干T2T3了 后来考完一看,只有\(T1\)骗到了\(15pts\)[尴尬\(.jpg\)] \(T1\)P3322 [SDOI2015]排序 背景 说实话,看见这题正解是dfs的那一刻,我人都傻了[流泪.jpg] 在讲这题的时候赵队@yspm 类比了线段树的思想%%%%%,在食用本篇题解时可以想一下 解题思路 最基本的一个思想:结果与操作的顺序无关,因为在更换的时候…
5.22考试总结(NOIP模拟1) 改题记录 T1 序列 题解 暴力思路很好想,分数也很好想\(QAQ\) (反正我只拿了5pts) 正解的话: 先用欧拉筛把1-n的素数筛出来 void get_Prime() { for(int i=2;i<=M;i++) { if(!b[i]) pri[++tot]=i; for(int j=1;j<=tot&&i*pri[j]<=M;j++) { b[i*pri[j]]=true; if(!(i%pri[j])) break; }…
T1 送花 按照题解意思说是扫描线题,但我觉得像一个线段树优化$dp$ 主要思想一样,就是暴力枚举右端点,同时维护左端点的最值, 考虑两种情况, 如果左端点在$r$扫到的数$i$上一次出现的位置之前, 那么这个数是无法在区间$[l,r]$中作出贡献的 如果左端点在上次出现的位置之后,则可以作出贡献, 那么对应的操作就是 考虑从左往右扫答案的右端点,线段树维护每个左端点对应的答案 每次会让当前颜色的上上次出现位置到上次出现位置减掉贡献,上次出现位置到当前位置加上贡献 以后看到这种找最值区间的题目应…
有的考试表面上自称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$排序满足限…