noip模拟15】的更多相关文章

T1 夜莺与玫瑰 题目越发的变态起来... 这题刚开始看超级像仪仗队,好不容易码完欧拉函数后尝试×2后输出但不对!! 于是选择了跳过.... 正解居然是莫比乌斯函数....我也是醉了 预处理完就剩下$O(1)$求解然而我做不到.. 于是打了超级恶心的前缀和$O(n^2)$预处理以及$O(Tn)$求解. (多亏JYFHYX想到的手摸数组辗转相除超吊好吧). 竟然还可以定义short数组防止MLE,小马长见识了. 先考虑到柿子: $\sum_{a=1}^{n-1}\sum_{b-1}^{m-1}[g…
因为OJ停机,正好写(tui)个总结(boke) 题解不想写了. 前两题题意没看懂,其实比较简单. 最后一题神仙,想放弃. (迪神貌似又在疯狂骂自己) (我这么辣鸡我...) (下面开始跑题) 这两天好像稍微有点迷失. 做什么都特别慢,还没质量. 别人网络流快做完了,我只做了两道题 周围人都在讨论新知识,我很不识趣地问他们旧题目 也许这就是我的节奏?反正我以前就这样慢. 也许这只是一种心理安慰吧,我只是怠惰了. 我总以为慢就是稳. 我现在才慢慢看到有人又快又稳. 这样的人根本超不过. 再说我的“…
A.建设城市(city) 这容斥题多难啊你们是怎么考场切掉的啊 首先可以想一下,如果没有k的限制,这题怎么做? 相信你们肯定能看出来是挡板法裸题:m个物品分给n个人,每个人至少一个. 就是$C_{m-1}^{n-1}$呗.(如果每个人可以没有就是$C_{n+m-1}^{n-1}$) 但是就这玩意我考场都打了半个小时的表才推出来 上面这个柿子在这道题里可以表示为“至少有0个城市不满足条件的方案数” 显然范围太大了,里面不合法的情况要容斥掉.那么至少有一个的呢? 先选出一个城市,然后在建设队里选出k…
这次不咕了. 首先发现这套题目十分毒瘤, \(T1\) 就没有太大的思路. 结果最后也是暴力收场... 菜. \(T1\;60pts\) 暴力居然还是挺高的,\(T2\) 莽了一个随机化上去结果还是暴力分数.\(T3\)过于莽撞只打了一个垃得不能再垃的暴力结果只有 \(30pts\) ,结果赛后 \(set\) 直接撑到 \(60pts\). 挂了不少,主要还是欠考虑. \(T1\) 主要就是在 \(60pts\) 的基础之上把前缀和优化加上,这样的话就只用处理一个 \(\mathcal O(4…
题解 \(by\;zj\varphi\) 一道线段树题目 这道题可以通过维护一棵线段树,线段树上的每个节点维护 \(\rm l,r,len,p\) 分别表示这段区间最左边的花精,最右边的花精,被两只花精夹着的中间没有花精的最长一段距离,和取 \(\rm len\) 是花精放的位置 那么关键就是 \(\rm up\) 操作,对于一个节点的 \(\rm l,r\),若此区间只有一个花精,那么就设成 \(\rm l=r\) 如果没有,那就都设为 \(0\) 而后 \(\rm len\) 可以由左儿子或…
题解 \(by\;zj\varphi\) 一道并查集的题 对于它路径上点权,我们可以转化一下:对于一个点,它在哪些路径上是最小的点权 那么我们排个序,从大到小加入点,每回加入时,将这个点与它所相连的且权值比它大的点所在集合合并 那么这个新集合中,这个点的权值一定是最小的,所以求出这个集合的直径即可 对于这个新集合的直径,一定是由原来的集合的直径的端点组合而来的,或就直接是两个集合中直径大的那个 一共六种情况,枚举即可,复杂度可以做到 \(O(nlogn)\) Code #include<bits…
题解 一道很妙的题,让求对于一个矩阵中,两点相连成线,有多少条直线,他们的交集是有限集. 转化一下题目,发现水平和竖直的只有 \(n+m\) 条,而左斜和右斜的条数是相同的,所以我们只需求出左或右中的即可 这个矩阵中一共有 \(\sum_{a=1}^{n-1}\sum_{b=1}^{m-1}[gcd(a,b)=1]\) 条斜率不同的直线,那么对于每一种斜率,又有 \((n-a)×(m-b)\) 个点 可以伸出来,但是会有重复的所以要减去 \((n-2×a)×(m-2×b)\) 所以最后可以推出来…
T1 恶心的数学题,还卡空间... 于是考虑数组二次调用,用完memset 记录一手二维前缀和对不同询问离线修改,最后一块回答即可 Code #include<cstdio> #include<cstring> #include<algorithm> #include<bitset> #define F(i,a,b) for(register int i=a;i<=b;i++) #define D(i,a,b) for(register int i=a…
T1 字符串: 裸的卡特兰数题,考拉学长讲过的原题,就是bzoj3907网格那题,而且这题更简单,连高精都不用 结论$C_{n+m}^{n}-C_{n+m}^{n+1}$ 考场上10min切掉 #include<bits/stdc++.h> #define int long long ; ; using namespace std; int inv[N],fac[N]; int qpow(int a,int b){ ; while(b){ ) ans=ans*a%mod; b>>=…
NOIP模拟17.8.15 A 债务文件名 输入文件 输出文件 时间限制 空间限制debt.pas/c/cpp debt.in debt.out 1s 128MB[题目描述]小 G 有一群好朋友,他们经常互相借钱.假如说有三个好朋友 A,B,C.A欠 B 20 元,B 欠 C 20 元,总债务规模为 20+20=40 元.小 G 是个追求简约的人,他觉得这样的债务太繁杂了.他认为,上面的债务可以完全等价为 A 欠 C 20 元,B 既不欠别人,别人也不欠他.这样总债务规模就压缩到了 20 元.现…