8.1 NOIP模拟11】的更多相关文章

8.1 NOIP模拟 11 今天上午返校之后,颓了一会,然后下午就开始考试,中午睡着了,然后刚开始考试的时候就困的一匹,我一看T1,woc,这不是之前线段树专题的题啊,和那道题差不多,所以我......想起来了,我当时没有做,完了,这就是之前坑哇的太大的缘故.我的内心当时就在滴血,心想推正解还不如先打个暴力,然后愉快的5分钟吗了一个暴力,整个就是俩sort,又花了五分钟改成了桶排,然后就愉快的交上去了,然后我T1还是没有思路,就15分钟的时候转了T2,T2一看就开始推组合数的柿子,但是由于我的误…
T1 math 其实看看题面,看看给的那机组数据即可看出规律了(然而当时并没有,只是发现模数的循环节,存了个vector,接下来就暴力了) 有个柿子: 其实就是裴蜀定理. 然后想一想的话就是 那么只要求出Ν个的gcd再和k求gcd,算出来之后用这个总的gcd去进行翻倍 反到最大的小于k的数停止即可 1 #include<bits/stdc++.h> 2 #define int long long 3 #define write(X) printf("%lld\n",X) 4…
T1 math 就挺水一小破题目,第一眼看好像不可做,看着看着突然发现假设x和y的最大公约数是gcd,那么kx%y一定是gcd的倍数, 然后想到可以把所有数字与k的gcd求出来,打一个完全背包,可是仔细一算肯定会t掉,然后又仔细想了下,发现既然都是gcd的倍数 那么只要把所有的数求一个gcd就可以满足情况了,最后直接在k的范围内往上加gcd,O(n)直接切了 不过跑大样例的时候,文本比较总是wa,可是看文件字节大小,以及拿肉眼看都一样,有点玄学,开大样例的时候,gedit直接卡爆了,直接白屏了…
差点迟到没赶上开题 开题后看了T1,好像一道原题,没分析复杂度直接敲了个NC线段树,敲了个暴力,敲了个对拍,就1h了.. 对拍还对出错了,发现标记下传有点问题,改了以后对拍通过,就把T1扔掉看T2 觉得是个傻dp,推了会没推出来,1h40min.. 想起迪哥的教诲,看T3 当时连左移都没看出来,觉得T3比T2难多了,想T2 2h10min左右,看见时间快炸了,T2打了个30多行暴力,T3打了个20多行的暴力 觉得自己快完戏了 3h,手模T2发现样例不对,无限制的位置应该0,1都可以啊? 找教练,…
菜 这次考试又是骗了一堆分数... 然而其实一个正解都没写... \(T1\) 的方法说实话确实不是很正统.... 然而却 \(A\) 了... 在打完 \(T1\) 后拍了老长时间... 然后就耽搁了 \(T2\),\(T3\). 其实后面两道题目还是可以有很多很多分的... 推一下性质. 再写一个我最擅长的记忆化搜索就有很多分. 然而我却没写. 挂了不少分. T1: 其实就是求出这些数字的最大公约数. 然后这就是答案的公差. 然后从 \(0\) 输出到 \(k\) 就行了. 正解其实精简一下…
题解 本题有一定代码难度 对于需要区间最大值,可以反过来考虑,先预处理出每个数所能扩展的最大边界,也就是说,求出一个最大的区间,其最大值为这个数,单调栈 \(\mathcal O(n)\) 求解 那么对于第一问,我们记录一个数组 \(bit\),\(bit_{i,j}\) 表示前 \(i\) 个数二进制下第 \(j\) 位为 \(1\) 的有多少 对于每一个数,设其左边界为 \(l_i\),右边界为 \(r_i\),则我们将这个区间分成两部分 \(l_i-i\),\(i-r_i\),选取数少的枚…
题解 首先对 \(a\) 离散化,则可推出转移方程 \[dp_{i,j}=\max\{{dp_{{i^{'}},{j^{'}}}+|i-i^{'}|+|j-j^{'}|}\}+b_{i,j} \;\;(a_{i,j}=a_{{i^{'}},{j^{'}}}+1) \] 其中按离散化后 \(a\) 递增 \(1\) 跳,一定为最优(易证) 这个方程复杂度为 \(\mathcal O(n^2m^2)\),优化: 此题可以发现每个 \(dp_{i,j}\) 都可以由 左上,右上,左下,右下 转移过来.…
题解 签到题(然而还是不会) 考虑所有可能的值一定是 \(\in [0,k)\),且一定为 \(gcd(a_1,a_2,...a_n,k)\) 的倍数. 证明: 设 \(tmp=b_1a_1+b_2a_2+...b_na_n\) 那么 \(tmp\) 可表示为 \(k_1×gcd(tmp,k)\), \(k\) 可表示为 \(k_2×gcd(tmp,k)\) 故 \(tmp\;\;mod\;\; k\) 也为 \(gcd(tmp,k)\) 的倍数 证毕 Code: #include<bits/s…
目录 2018.11.7 NOIP模拟 A 序列sequence(two pointers) B 锁lock(思路) C 正方形square(埃氏筛) 考试代码 B C 2018.11.7 NOIP模拟 时间:3.5h 期望得分:100+0+40 实际得分:100+0+40 A 序列sequence(two pointers) 其实我们只要处理每个数与哪些数相加,会产生进位就行了. 把数排序后,枚举一个数x,容易想到满足使x+y进位的y是单调的(要求y<=x).所以可以二分. 但是单调,好像只需…
11.1 NOIP 模拟赛 期望得分:50:实际得分:50: 思路:暴力枚举 + 快速幂 #include <algorithm> #include <cstring> #include <cstdio> using namespace std; typedef long long LL; ; int n, m; LL ans; LL qpow(LL a, LL b) { LL res = ; while (b) { ) res = res * a % Mod; a =…