NOIP模拟100(多校32)】的更多相关文章

前言 CSP之后第一次模拟赛,感觉考的一般. 不得不吐槽多校联测 OJ 上的评测机是真的慢... T1 树上的数 解题思路 感觉自己思维有些固化了,一看题目就感觉是线段树. 考完之后才想起来这玩意直接 DFS 一遍就行(大雾 然后就是卡常了,最后的结果就是时限 2s 的题本机 0.6s 才在OJ上过掉,我谔谔 果然迭代比递归快,所以直接 BFS 就可以减小常数了QAQ code #include<bits/stdc++.h> #define ll long long #define ull u…
前言 所以说这次是 HZOI 多校联测巅峰????(题目,数据过水??) T1 石子合并 解题思路 签到题. 发现我们可以给每个数字附一个正负号,每个数字的贡献就是它本身乘上这个符号. 发现至少应该有一个正号一个负号,直接记录是否正负数都有,再判断一下有 0 或者只有一个数的情况. code #include<bits/stdc++.h> #define int long long #define ull unsigned long long #define f() cout<<&…
T1 法阵 解题思路 原题3100,张口放 T1(出题人原话) 思维题,合法的情况其实就是上下两个梯形拼起来的样子. 他们的边界都是在 \(i\) 轴上面,但是不能相交. 于是我们可以尝试两者相交的纵坐标,再枚举左边梯形的下边界一级右边梯形的上边界,对于答案的话再乘上一个二. \[\displaystyle\sum_{i=1}^{n-1}\sum_{i=1}^{m-1}\sum_{k=j+1}^{m}\binom{i+j-1}{i}\times\binom{n-i+m-k}{n-i}\times…
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…
前言 对于这套题的总体感觉就是难,然后就是自己很菜... 对于 T1 考试时只会一个最垃圾的背包,考完之后对于思路这一块也不是很顺利,大概这就是薄弱的地方吧. 然后 T2 是比较简单的一道题了,但是考试的时候只是拿了一点部分分,对于正解的思路也只有一点点. 大概和看错数据范围有一点关系吧,主要还是菜. T3 T4 是那种我最害怕的题目了,T3 一看感觉根本不可做,然后一点思路没有. T4 的博弈论更别提,推了个傻瓜特殊性质就跑路了... T1 按位或 解题思路 容斥DP好题. 先来考虑复杂度为…
T1 子集和 解题思路 大概是一个退背包的大白板,然而我考场上想复杂了,竟然还用到了组合数. 但是大概意思是一样的,有数的最小值一定是一个在 \(a\) 数组中存在的数字. 那么我们想办法除去它对应的贡献,可以一个一个退,也可以组合数一下一起退... code #include<bits/stdc++.h> #define int long long #define ull unsigend long long #define f() cout<<"RP++"&…
noip模拟32 solutions 真是无语子,又没上100,无奈死了 虽然我每次都觉得题很难,但是还是有好多上100的 战神都200多了,好生气啊啊啊 从题开始变难之后,我的时间分配越来越不均匀,导致每次都没有时间做最后一题 今天直接挂掉了30pts,因为最后一题没有注意部分分.. T1 smooth 这个最简单了,我考场上一秒出80pts做法,直接一波set维护 自带排序和去重,完全不必担心,就是时间复杂度多了个log 80pts.set #include<bits/stdc++.h>…
\(NOIP\)模拟题汇总(加厚版) T1 string 描述 有一个仅由 '0' 和 '1' 组成的字符串 \(A\),可以对其执行下列两个操作: 删除 \(A\)中的第一个字符: 若 \(A\)中 '1' 出现的次数为奇数,则在 \(A\) 的末尾插入 '1',否则在 \(A\) 的末尾插入 '0'. 现在给出一个同样仅由 '0' 和 '1' 组成的字符串 \(B\),请你判断 \(A\) 能否在任意多次操作后转化为 \(B\). 输入 输入文件第一行一个正整数 \(T\),表示有 \(T\…