HZOI20190828模拟32题解】的更多相关文章

题面:https://www.cnblogs.com/Juve/articles/11428730.html chinese: 考虑$\sum\limits_{i=0}^{n*m}i*f_i$的意义:所有方案中炼字的个数之和. 统计答案时可以考虑[1,k]每个字对答案的贡献,即每个字在多少种方案中成为炼字. 在方格的一个确定位置(x,y),字符i对答案的贡献((x,y)位置的数是i且i是炼字的方案数)是 $(i-1)^{n-1}*(i-1)^{m-1}*k^{n*m-n-m+1}$. 由于诗作中…
noip模拟32 solutions 真是无语子,又没上100,无奈死了 虽然我每次都觉得题很难,但是还是有好多上100的 战神都200多了,好生气啊啊啊 从题开始变难之后,我的时间分配越来越不均匀,导致每次都没有时间做最后一题 今天直接挂掉了30pts,因为最后一题没有注意部分分.. T1 smooth 这个最简单了,我考场上一秒出80pts做法,直接一波set维护 自带排序和去重,完全不必担心,就是时间复杂度多了个log 80pts.set #include<bits/stdc++.h>…
[CQOI2012]模拟工厂 题解(搜索+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1327574 链接题目地址:洛谷P3161 BZOJ P2667 这个题练一练综合思想还是不错的...(然而蒟蒻不会啊) 做法 肯定是在能完成某些订单的情况下使自己生产力越高越好是吧(一个大致的贪心方向) 但是我们不知道自己到底应该怎么去决定提高生产力时间 那么换个角度,不从时间来看,从订单上来看 贪心 我们假设一定要完成订单\(1-n\) 那么应该如何贪心…
NOIP模拟赛第7场题解: 题解见:http://www.cqoi.net:2012/JudgeOnline/problemset.php?page=13 题号为2221-2224. 1.car 边界要当做建筑物. 只需要判断是否存在一个'.',至少三面都是建筑.那么这个点就是所谓的“死胡同”. 2.gcd 利用整数唯一分解定理,求出A,B的所有质因数和该质因数出现的次数. 对A,B的公共质因数取其出现次数的最小值,再将该质因数的最小值次幂累乘起来即可. 3.pair 这是一道非常有质量的题,很…
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/double类型. program prob1; var ans:array[0..6,0..600] of longint; n,i,j:longint; a0,r0,px,py,vx,vy,left,t,newp:extended; flag:boolean; function dist(x1,…
NOIP国庆模拟赛Day5 题解 T1 马里奥 题目描述 马里奥将要参加 NOIP 了,他现在在一片大陆上,这个大陆上有着许多浮空岛,并且其中一座浮空岛上有一个传送门,马里奥想要到达传送门从而前往 NOIP的考场. 从一座浮空岛出发,马里奥可以到达一个在水平方向和这个浮空岛相接的另一个浮空岛,他还可以使用梯子到达在这个浮空岛正上方或正下方的另一座浮空岛,但是这两个浮空岛的高度差不能超过梯子的长度. 现在,马里奥希望用最短的梯子到达传送门,请你输出梯子的最短长度. 我们把浮空岛抽象成一个二维平面,…
填坑 orz w_x_c_q w_x_c_q的模拟赛(150pts,炸了) money 题目背景: 王小呆又陷入自己的梦里.(活在梦里...) 题目描述: 王小呆是一个有梦想的小菜鸡,那就是赚好多好多的钱.现在机会来了,在他面前是一个迷宫,一共有N个点,M条路,王小呆可以在这些路上随便走,并且最重要的是,这些路上都有着数额不同的钱,王小呆每走过一条路,就可以得到这条路上所有的钱(我们认为王小呆特别贪婪,所以他用来装钱的袋子是无穷大的...),因为王小呆的梦很神奇,所以当一条路上的钱被他取走之后,…
A.矩阵游戏 其实挺水的? 考场上根本没有管出题人的疯狂暗示(诶这出题人有毛病吧这么简单的东西写一大堆柿子),而且推公式能力近乎没有,所以死掉了. 很显然乘法有交换率结合率所以操作顺序对最终结果没什么影响对吧,垃圾如我都能一眼看出来. 统计一下每行总共乘的倍数$h_i$,每列总共乘的倍数$l_i$, 之后考虑$O(n^2)$怎么求出答案:$ans=\sum \limits _{i=1}^{n}h_i \sum \limits _{j=1}^{m}l_j\times((i-1)\times m+j…
毕竟考得太频繁了于是不可能每次考试都写题解.(我解释个什么劲啊又没有人看) 甚至有的题目都没有改掉.跑过来写题解一方面是总结,另一方面也是放松了. NOIP模拟测试36 T1字符 这题我完全懵逼了.就是来教我们打暴力和高级一点的复杂度分析的?? 然而暴力拿走,复杂度分析并没有get到.调和级数是啥?? 度娘: 调和级数(英语:Harmonic series)是一个发散的无穷级数.调和级数是由调和数列各元素相加所得的和.中世纪后期的数学家Oresme证明了所有调和级数都是发散于无穷的.但是调和级数…
T1 Smooth 很水的一道题...可是最傻    的是考场上居然没有想到用优先队列优化... 上来开题看到这个,最一开始想,这题能用模拟短除法,再一想太慢了,就想着优化 偏偏想到线性筛然后试别的素数是不是他的因数,比较离谱当时为什么会觉得这样快... 然后还在试图精准卡时限,感觉自己像时间管理带师(??),总之就非常逗    . 后来发现这种做法不仅没有正确性(因为素数可能筛不完),而且还慢... 就放弃了直接打了一手短除,拿到除了暴零以外的全场最低$20$,长个教训吧..... 据说正解跟…
做这个题解的理由很简单,有很多同学想写但是不会写,凑巧我写了,所以搞个题解. 顺序就是题单里的顺序(界面左上角菜单切换文章,右上角目录方便查看) 1:黑马白马 题意: 随机得到一个数字,如果是偶数,则输出"黑马",并得到一颗糖,然后继续:不然则输出"白马",没有得到糖,并且换人. 题解: 判断一个数是不是偶数(能否被2整除)即可. 上板子: if (n == 0)continue; else if (n % 2 == 0)cout << "Bl…
[A.韩信点兵] 结论题+模板题,用到了中国剩余定理,维基百科上讲的就比较详细,这里就不再赘述了…… 对于这题,我们先利用中国剩余定理($x \equiv \sum{(a_i m_i (m_i^{-1} \mod p_i))}\, \mod (\prod{p_i})$)找到当前人数的最小可行解$x_0$,(如果$x_0$已经超过了$N$,直接输出无解即可)这时不难证明,对于任何一个可行解,都有 $$x_i = x_0 + k \times \prod{P_i},k \in \mathbb{N}$…
前言 大家期待已久并没有的题解终于来啦~ 这次的T1和HAOI2016撞题了...深表歉意...表示自己真的不知情... 天下的水题总是水得相似,神题各有各的神法.--<安娜·卡列妮娜> 出题的过程:@PhoenixEclipse @xht13127提供了一些想法,我负责写标程,对拍,造数据...然后 @SakuraDance帮我验了题.感谢上述,以及其他几位dalao的资辞. 题解 T1 和HAOI2016撞车 http://www.lydsy.com/JudgeOnline/problem…
感谢@guz 顾z的题题解 考试共三道题,其中 第一题help共10个测试点,时间限制为 1000ms,空间限制为 256MB. 第二题escape共20个测试点,时间限制为1000ms2000ms,空间限制1MB16MB. 第三题cure共20个测试点,时间限制为 1000ms,空间限制为 256MB. PS:题目背景与题目本身无关,可跳过 help 题目背景 在梦中,王 小 呆 到了一个神秘的地方.这里是昆虫王国!国王见王 小 呆 好生俊俏,便给了他一杯昆虫国的老白干.王 小 呆一口下肚,突…
火车进站,模拟一个栈的操作,额外的栈操作,查看能否依照规定顺序出栈. 数据量非常少,故此题目非常easyAC. 直接使用数组模拟就好. #include <stdio.h> const int MAX_N = 10; char inOrder[MAX_N], outOrder[MAX_N], stk[MAX_N]; bool rs[MAX_N<<2]; int n; int main() { while (scanf("%d", &n) != EOF)…
我在31反思中膜拜过了B哥 没想到这次又... 我给老姚家丢脸了...STO 首先T1暴力就写挂了... 贪图从$n^3$*$2^n$优化成$n^2$*$2^n$然后打错了 哗哗的扔分 而且正解都想不到也不应该啊 为啥不努力去想想$O(K)$的柿子啊 真 是 怠 惰 T2利用了一个性质,就是如果维护$Up$和$Dn$两个数组的话 每次修改只会影响一行的答案,于是每次修改只遍历一行就行了 单调性的运用.还是不行. T3思想大概了解了,由于AC众神对题解有争议有点地方也没搞懂也不敢水过 利用期望的可…
话说这次考试T1和T2是真的水,然而T1CE,T2TLE,T3CE 这不就是在侮辱我的智商啊!之前本机编译都是c++,以后要用c++11. 这次的T1就是一个大型找规律,我的规律都找出来了,但是竟然用规律暴力建树?woc,我当时是不是还没睡醒? 看来我真是一个2b.关键就是建树就建树吧,我还挂了一个hashmap,然后关键字冲撞,连暴力的分都没有! 其实规律但是在考试的时候就想出来了但是我当时打了一个fibonaqi的前缀和瞅了一眼,然后发现很小,然后我就觉得这题就考一个规律,然后暴力建树(纯属…
A. marshland 考试时想到了网络流,然而不会建图,就死了. 正解是最大费用可行流. 比较容易想到的是将每个点拆为两个点, s连没有危险值的入点, 没有危险值的入点连有危险值的入点,入点出点之间限流有费用, 出点再连没有危险值的出点,这些出点连向t. 不断跑spfa,通过有流量的边,记录下前趋. 将前趋的边的流量改变,EK算法. B. party 因为只有单向边,达成尽快到齐的条件是,终点为c个点的lca. m的范围比较小,于是可以用bitset维护. 比较容易想到了在倍增求lca的同时…
题解: T1 u: 一看到修改这么多,但询问其实只有一个不难想到差分,但是他这个形状可以说很不规则,于是我们想到分别维护竖着的和斜着的差分,然后最后合并即可. 考场上瞎调了一波系数莫名AC,其实是维护差分的差分. 考试时发现对拍暴力输不出来东西时,慌的不行,对拍的数据范围一定要搞对. //weihu xiezhede chafen? //对于每个满足 x ∈ [r, r +l), y ∈ [c, x−r +c] //的元素 (x, y),将权值增加 s. #include<bits/stdc++…
考试过程: 照例开题,然后觉得三道题都挺难,比昨天难多了(flag×1),T1 dp?T2 数据结构? T3 dp?事实证明我是sb然后决定先搞T2,但是,woc,这题在说什么啊,我怎么看不懂题啊,连样例都手模不出来,完了凉了,然后又看了一个半小时的题,还是没看懂心态爆炸,然后匆匆打了T1T3暴力,还自我感觉良好,觉得这么难的题,拿个150pts左右应该rank10没啥问题叭,然后出分,T1T2A了一片,然后我还暴力挂分,然后在第二机房成功倒数. 反思: 还是思考的太少啊,对题目的难度评估出现很…
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>>=…
今天的考试题改自闭了……所以滚来写陈年题解. 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…
A.字符串 Catalan数不能再裸了 #include<cstdio> #include<iostream> #include<cstring> using namespace std; typedef long long ll; ; ; ll n,m; ll fac[N]; ll qpow(ll a,ll b) { ll res=;a=a%mod; while(b) { )res=res*a%mod; a=a*a%mod; b>>=; } return…
当垃圾已经成为一种常态233333 A.旋转子段 考场上的$n^2$手残少了20分,555  (主要是因为实在打不出来$n^3$的做法所以写不了对拍?ccc为什么考场上没有想起有reverse()这么毒瘤的操作啊) 很显然要反转的区间两端一定是一对$i,a[i]$(具体谁在左谁在右看大小关系),因为如果不是的话它俩没啥用就完全可以去掉. 所以枚举所有的i和a[i]不断更新最优解就能得到答案,那么只要能够$O(1)$查询答案复杂度就可以保证了.不妨设当前枚举到的i<a[i],那么我们要查询的固定点…
题面:https://www.cnblogs.com/Juve/articles/11791219.html 上来先看T1,发现和之前做过的treap一样,是线段树维护单调栈,然后打了一个小时,然后它挂了 于是看后面的题,然后T2:woc它说的是什么?怎么这么多变量?貌似k=2可以大力分类讨论? 写了半个小时,发现恶心至极,然后puts("-1")就跑了 T3好像有暴力?打了个搜索,一遍过样例,应该有40分了吧,在加上T1暴力就60分了 突然发现T1可以分块直接艹过,果断分块,然后过样…
题面:https://www.cnblogs.com/Juve/articles/11790223.html 96: 刚一看以为是水题,直接等差数列求和就好了,然后发现模数不是质数,还要1e18*1e18,就弃了,看T3,然后看错题了,打了个dij的40分暴力 然后看T1发现我好像会一个叫做慢速乘的东西(颓AlpaCa博客颓到的,现在应该是我的模板的第二个),然后就不用打高精了, 至于模数不是质数,因为答案一定是整数,而我的式子最终要除以4,所以就在乘之前先让它除,然后乘,然后T1就A了, T2…
NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高度的过程中,如果高度不是d的整数倍,则必定有一步没有走满d个高度. 如果剩下的步数为偶数,则直接累计答案,可以证明没有更优的情况(虽然我懒并没有证明但我觉得这挺显然的啊……) 如果剩下的步数为奇数,考虑把原来没有走满的那一步走满,然后把多余的那一步补到下降中,也可以证明没有更优的情况.(显然……于是…
题面:https://www.cnblogs.com/Juve/articles/11396238.html 下面开始一句话题解: A:爬山: 二分答案,check即可 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define int long long using namespace std; const i…
题面:https://www.cnblogs.com/Juve/articles/11376806.html A. 嚎叫响彻在贪婪的厂房: 是时候学习一下map和set的用法了...... 贪心:区间[L,R]合法的条件:所有相邻两数差的绝对值的gcd不等于1,且没有重复的元素 gcd比较好满足,判重用map或set都可以 #include<iostream> #include<cstdio> #include<cstring> #include<algorith…
题面:https://www.cnblogs.com/Juve/articles/11372379.html A:字符串 其实是CATALAN数水题... 和网格一毛一样:https://www.cnblogs.com/Juve/p/11222358.html #include<iostream> #include<cstdio> #include<cstring> #define mod 20100403 #define int long long using nam…