NOIP模拟83(多校16)】的更多相关文章

前言 CSP之后第一次模拟赛,感觉考的一般. 不得不吐槽多校联测 OJ 上的评测机是真的慢... T1 树上的数 解题思路 感觉自己思维有些固化了,一看题目就感觉是线段树. 考完之后才想起来这玩意直接 DFS 一遍就行(大雾 然后就是卡常了,最后的结果就是时限 2s 的题本机 0.6s 才在OJ上过掉,我谔谔 果然迭代比递归快,所以直接 BFS 就可以减小常数了QAQ code #include<bits/stdc++.h> #define ll long long #define ull u…
T1 树上的数 有手就能在衡中$OJ$上过,但是$WaitingCoders$不行,就是这样 必须使用$O(n)$算法加上大力卡常,思路就是找子树内没更新的更新,更新过了直接$return$ 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,m,q1,vis[5000001],fa[5000001],a,b,X,Y,tmp,ans; 4 struct SNOW{int to,next;}e[5000001];int head[50…
T1 选择 现在发现好多题目都是隐含的状压,不明面给到数据范围里,之凭借一句话 比如这道题就是按照题目里边给的儿子数量不超过$10$做状压,非常邪门 由于数据范围比较小,怎么暴力就怎么来 从叶子节点向上$dp$,状态$i$表示每个儿子选/不选. 考虑找到那些点可以延伸到当前的$x$节点. 我们记录一下$x$的所有直接儿子$y$,开一个$vector:son_{i,j}$记录所有可以延伸到$i$节点的$j$ 转移的时候先看单点能否直接延伸到$x$,然后枚举任意两个$y,yy$,看看其子树有无两个点…
T1 你相信引力吗 对于区间的大小关系问题,往往使用单调栈来解决 这道题的优弧和劣弧很烦,考虑将其等价的转化 由于所有的合法情况绕过的弧都不会经过最高的冰锥, 又因为环可以任意亲定起点,这样可以直接把最大的点当作起点 那么我们所找的合法的答案就应该是: 在起点的右侧的冰锥配对,以及可以绕过来和起点配对的组合 这样就可以用单调栈维护,去重再开一个数组记录栈顶元素个数就行 1 #include<bits/stdc++.h> 2 #define LL long long 3 using namesp…
我愿称这场考试为STL专练 T1 世界线 巧妙使用$bitset$当作vis数组使用,内存不会炸,操作还方便,的确是极好的. 但是这个题如果不开一半的$bitset$是会炸内存的,因为他能开得很大,但是也有很大代价 相比bool是好的,所以这题要用一个节点池来存放节点卡内存限制 但是当时考试的时候还不知道有这种东西.. 考试时候的想法是: 因为发现如果暴力的话只用$floyd$循环找一遍无法将所有边找全,于是想到使用多次$floyd$ 记一个ans数组记录每一次新产生的连边,如果这一次的ans为…
这次时间分配还是非常合理的,但可惜的是$T4$没开$\textit{long long}$挂了$20$ 但是$Arbiter$上赏了蒟蒻$20$分,就非常不错~~~ T1 F 直接拿暴力水就可以过,数据无法精心构造,根本卡不掉,除非测评姬像老奶奶(详情见这一篇) 考场经过 造个大的数据试试跑几秒........ woc,2.7秒,不行,还是得卡常....... (30min later.....) 终于1.4秒了,就这样吧,拿个60分走人.....不对,这题时限4秒........ 然后就比较自…
前言 所以说这次是 HZOI 多校联测巅峰????(题目,数据过水??) T1 石子合并 解题思路 签到题. 发现我们可以给每个数字附一个正负号,每个数字的贡献就是它本身乘上这个符号. 发现至少应该有一个正号一个负号,直接记录是否正负数都有,再判断一下有 0 或者只有一个数的情况. code #include<bits/stdc++.h> #define int long long #define ull unsigned long long #define f() cout<<&…
T1 宝藏 解题思路 考场上一眼出 \(nlog^2\) 做法,然后没看见是 1s 3e5 的数据,我竟然以为自己切了?? 考完之后尝试着把二分改为指针的移动,然后就过了??或许是数据水吧,感觉自己的做法指针好像并不满足单调性.. 口胡一下正解,做法差不多,只不过枚举的方式改变了,但是都需要先对于 w 进行排序,枚举每一种长度的序列,单调指针维护最大的合法的值. 这个是有单调性的,然后主席树或者权值线段树维护均可. code 其实是假做法 #include<bits/stdc++.h> #de…
前言 好像每个题目背景所描述的人都是某部番里的角色,热切好像都挺惨的(情感上的惨). 然后我只知道 T1 的莓,确实挺惨... T1 莓良心 解题思路 首先答案只与 \(w\) 的和有关系,于是问题就变成了对于一个点求出每一个所在组的大小以及对应的方案数. 考场上想的是枚举组的大小,然后预处理一下 \(n\) 个数字划分为 \(m\) 个非空集合的方案数. 一开始想的是隔板法,显然不对,然后就尝试 DP 计算,就有了 \(f_{i,j}=f_{i-1,j}\times j+f_{i-1,j-1}…
T1 特殊字符串 解题思路 \(f_{i,j}\) 表示前 \(i\) 个字符中结尾为 \(j\) 的最大贡献. 转移枚举当前位置于之前位置结尾的组合加上贡献即可. 对于边界问题,容易发现选择 1 一定不劣. code #include<bits/stdc++.h> #define int long long #define ull unsigned long long #define f() cout<<"RP++"<<endl using nam…