NOIP 模拟 $33\; \rm Defence$】的更多相关文章

题解 \(by\;zj\varphi\) 题意就是维护 \(\rm max\{01mx,01l+01r\}\) 就是最长连续的一段 \(0\),左右 \(0\) 区间的加和. 可以启发式合并,也可以直接线段树合并,复杂度 \(\mathcal O\rm(nlogn)\) Code: #include<bits/stdc++.h> #define ri register signed #define p(i) ++i namespace IO{ char buf[1<<21],*p1…
题解 状压 \(\rm DP\). 从 \(1\) 到 \(n\) 一共只要一条路径,那么就是一条链,只要维护一个点集和当前链的末尾就行. 设 \(\rm dp_{i,j}\) 为 \(i\) 的点集末尾为 \(j\) 的最大权. 转移有两种: 在链的末尾加上一个点. 在链的末尾加上一个点集,这个点集就代表无关的联通块只能和答案链最多连接一个点. Code #include<bits/stdc++.h> #define ri register signed #define p(i) ++i n…
题解 \(by\;zj\varphi\) 结论题. 对于 \(1\) 猎人,他死的期望就是有多少个死在它前面. 那么对于一个猎人,它死在 \(1\) 前的概率就是 \(\frac{w_i}{w_i+w_1}\),证明简单. Code #include<bits/stdc++.h> #define ri register signed #define p(i) ++i namespace IO{ char buf[1<<21],*p1=buf,*p2=buf; #define gc(…
noip模拟33 solutions 不知道该咋说,这场考试其实是我这三四场以来最最最最最顺心的一场了 为啥呢?因为我这回思考有很多结果,得到了脑袋的回复 就是你想了半个小时就有了一点点头绪,那感觉就是"妙哉" 但是分数却不如人意,只有100pts,挂掉了55pts 按照现在的状态,下次肯定能A题 T1 Hunter 这个题还是一眼就有45pts,轻轻的状压一下,再加上记忆化搜索 半个小时45pts到手. 45pts·状压 #include<bits/stdc++.h> u…
\(\color{white}{\mathbb{失足而坠千里,翻覆而没百足,名之以:深渊}}\) 这场考试的时间分配非常不科学 开题试图想 \(t1\) 正解,一个半小时后还是只有暴力,特别惊慌失措 然后赶紧看 \(t2\),看题发现是个简单的线段树合并,没有多模样例,半个小时打完结论后发现能过样例,也没对拍就直接放下了 然后最后一个小时硬想 \(t3\),写了一个复杂度比较正确的网络流上去,发现有好多漏洞,然后一直调,最后考试结束的时候甚至暴力都没来得及打 A. Hunter 玄妙的概率题 如…
一直没时间写QwQ 于是补一下. Day 1 晚饭吃的有点恶心…… $1s\,2s\,5s$ 还开 -O2 ?? 有点恐怖. T1 猛的一想: 把外面设成一个点, 向入口连一条权为排队时间的边 从出口连一条权为排队时间的边. ××我又审错题了,就只能进出一次=.= 最短路?? 建反图, 然后从终点跑一个 dij 由于点数少,我觉得$N^2$仿佛都能过=.= 起点直接搜,类似$A^*$? 去搜时间允许下的点的$maxsize$ 可以搞个搜索树,这样就可以严格限制为$\Theta(N)$ 于是时间还…
这场考试考得很烂 连暴力都没打好 只拿了25分,,,,,,,,好好总结 T1序列 A. 序列 题目描述 HZ每周一都要举行升旗仪式,国旗班会站成一整列整齐的向前行进. 郭神作为摄像师想要选取其中一段照下来.他想让这一段中每个人的身高成等比数列,展示出最萌身高差,但他发现这个太难办到了,于是他决定放低要求,让等比数列的每两项之间可以是不连续的(例如 2,4,16--).可他依然找不到满意的,便再次妥协,使这个等比数列可以是乱序的. 现在请在其中你找出最长的符合要求的一段,使得将这一段排序后为某个公…
题解 \(by\;zj\varphi\) 对于一个数,如果它二进制下第 \(i\) 位为 \(1\),那么 \(\rm x\) 在这一位选 \(1\) 的贡献就是和它不同的最高为为 \(i\) 的数的个数 这个东西很好搞,整一个 \(\rm 01trie\) 就行,每会插入的时候直接统计即可 但是如何求第 \(p\) 位,二分,但每回二分时 \(2^k\) 搜索一遍就超时了,\(\rm meet\;in\;the\;middle\) 发现每一位是相互独立的,也就是说它们之间是不会互相影响的,所以…
期望得分:30+90+100=220 实际得分:30+0+10=40 T1智障错误:n*m是n行m列,硬是做成了m行n列 T2智障错误:读入三个数写了两个%d T3智障错误:数值相同不代表是同一个数 既眼瘸又脑残,NOIP这样后悔去吧! T1 n*m网格,有S种颜色. 按从上到下,从左到右的顺序涂色. 相邻的相同色块可得一份,问最大得分 n,S<=100000,m<=4 只有最多4列 1列:顺着涂 2列:先涂可以涂偶数个 3列:先涂%3=0的,然后一个%3=1和一个%3=2的组合,剩余的顺着涂…
又是炸掉的一次考试 T1.方程的解 本次考试最容易骗分的一道题,但是由于T2花的时间太多,我竟然连a+b=c都没判..暴力掉了40分. 首先a+b=c,只有一组解. 然后是a=1,b=1,答案是c-1,不解释. 对于最大的数据,我们可以用exgcd求出一组特解,之后的通解为x+(b/gcd)*k, y+(a/gcd)*k. 求出正整数解的个数即可. 注意有很多特判,慢慢调试就好(改这题的时间比我改T3的时间都长) #include<bits/stdc++.h> #define m 65535…