NOIP模拟 26】的更多相关文章

\(noip模拟26\;solutions\) 这个题我做的确实是得心应手,为啥呢,因为前两次考试太难了 T1非常的简单,只不过我忘记了一个定理, T2就是一个小小的线段树,虽然吧我曾经说过我再也不写树状数组了,但是我看见最长上升子序列就兴奋了 码了个树状数组就溜走了,用时仅为10min,60pts,组合拳 T3我就是nb \(T1\;神炎皇\) 这个就是一个小小的推式子,让我给你推一推 \(a+b\,|\, a*b\),设\(d=gcd(a,b),x=a/d,y=b/d\),所以x和y互质 我…
首先看到这样中二的题目心头一震.... 然而发现又是没有部分分数的一天. 然而正解不会打.... 那还是得要打暴力. 但是这套题目有两个题目只有一个参数. 所以... (滑稽).jpg 然后我就成功用这个性质骗到了 \(20pts\) 然而差点没骗到... 神炎皇: 考虑最最暴力的想法... 实际上就是题目说啥你干啥. 然后 \(20pts\) 低分.. 但是我们可以发现这个和欧拉函数有关. 可以粗略地证明一下: 我们知道 \(x\) 与 \(y\) 互质,那么 \(x\) 和 \(x+y\)…
罕见的又改完了. T1 神炎皇 吸取昨天三个出规律的教训,开场打完T2 20pts直接大力打表1h. 但怎么说呢,我不懂欧拉函数.(其实exgcd都忘了 于是只看出最大平方因子,不得不线性筛,爆拿60 正解又是看不懂的东西,取a和b的gcd d,把a,b同除d得到A,B,很容易想到(但好像不太容易证)A+B与AB互质. 那么要保证(A+B)d|ABd2,就要使(A+B)|d.又因为(A+B)d<n,所以(A+B)<根号n. 直接枚举A与B的和k,可以知道符合互质的AB数对有φ(k)对,d有n/…
我辛辛苦苦敲了3.5h的码 得分和一份8B的码一样多 自闭555. T1 marshland 最小费用可行流, 板子不会,建图更不会. 当然是用暴搜得到0分的好成绩啦 补了补板子. %了%RNB. 学习了一下根据题目设定设计网络流的神仙做法 深深地感到自己的渺小 T2 party 霍尔定理:二分图存在完美匹配,当且仅当X中任意k个点都与Y中至少k个点相连. 发现c很小,可以树剖找每个人的邻接关系,利用bitset存储. 枚举子集找和对面相连的点数w,w/c的最小值就是答案k. 减掉一个log:发…
把题解沽了好久了,今天还是不想写,我们靠的B卷其实挺水的,但是我就是想吐槽一下!咋还带题目里面放题解的?题里一点题解的线索都没有,但是玄机竟然在题目里! 我也是醉了,T1就是一个贪心,题目说贪婪,T2正解是离线算法(在线完全水过),题里给出离,T3是堆优化dp然后就是堆积! 无语!!!!! T1就是熟练使用stl进行一系列操作,主要就是去重,因为这次我的暴力没有打爆,所以对拍完之后就A了,其实一开始我并没有想那末多,就随便盘一下gcd,然后就爆零了,其实就是多项一点就好了 T2一开始没想到,后来…
考试过程: 照例开题,然后觉得三道题都挺难,比昨天难多了(flag×1),T1 dp?T2 数据结构? T3 dp?事实证明我是sb然后决定先搞T2,但是,woc,这题在说什么啊,我怎么看不懂题啊,连样例都手模不出来,完了凉了,然后又看了一个半小时的题,还是没看懂心态爆炸,然后匆匆打了T1T3暴力,还自我感觉良好,觉得这么难的题,拿个150pts左右应该rank10没啥问题叭,然后出分,T1T2A了一片,然后我还暴力挂分,然后在第二机房成功倒数. 反思: 还是思考的太少啊,对题目的难度评估出现很…
今天的考试题改自闭了……所以滚来写陈年题解. A.*****贪婪***** RT,出题人告诉我们这题要贪心. 最优的策略一定是拖到必须断的时候再断开(虽然并不知道为什么). 如果一段序列满足题目中的性质,那么一定有$gcd(a_i-a_{i-1},a_{i+1}-a_i,...)$不为1且$a_i,a_{i+1},...$各不相同.所以维护每段的相邻两项差值的gcd,遇到不符合或者重复的元素就ans++.set写起来比较方便. #include<cstdio> #include<iost…
题解 \(by\;zj\varphi\) 观察可发现一个点向它的子树走能到的白点,黑点数是一个斐波那契数列. 对于白色点对,可以分成两种情况: 两个白点的 \(lca\) 是其中一个白点 两个白点的 \(lca\) 是一个黑点 注意,两个白点的 \(lca\) 不可能是非两个白点之中的白点. 分开计算即可 Code: #include<bits/stdc++.h> #define ri register signed #define p(i) ++i using namespace std;…
题解 \(by\;zj\varphi\) 用树状数组优化一下求最长上升子序列即可. 至于第二问,在求出答案后开 \(n\) 棵线段树,每颗维护当前最长上升子序列长度的方案数. Code #include<bits/stdc++.h> #define ri register signed #define p(i) ++i using namespace std; namespace IO{ char buf[1<<21],*p1=buf,*p2=buf,OPUT[100]; #def…
题解 \(by\;zj\varphi\) 一道 \(\varphi()\) 的题. 对于一个合法的数对,设它为 \((a*m,b*m)\) 则 \(((a+b)*m)|a*b*m^2\),所以 \((a+b)|a*b\),因为 \(\gcd(a,b)=1\),所以 \(a+b|m\) 那么设 \(a+b=k\),且 \(k*m\le n\),那么 \(k\) 最大为 \(\sqrt n\),所以枚举 \(k\) 即可,对于每个 \(k\),有 \(\rm \frac{n}{k^2}\) 个 \(…