ZROI 19.08.12模拟赛】的更多相关文章

传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "我发现问题的根源是大家都不会前缀和."--敦爷 A 敦爷spj写错了,差点把蒟蒻swk送走 \(50pts:\) 考虑不输出方案怎么做.显然是树形dp. 设\(f_{i,j,\{0/1/2\}}\)表示\(i\)的子树中,有\(j\)条链,根节点状态为:\(\{\)没选\(/\)选了向下的一条链\(/\)选了向下的两条链\(\}\)的最优解. 对于一棵子树,开始时只考虑根节点,依次合并每个儿子.合并时需要枚举父亲和儿子…
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "正睿从来没有保证,模拟赛的题目必须原创." "文案不是我写的,有问题找喵老师去."--蔡老师 A R爷再次翻车,搞出来了一道六年前的CF题. \(100pts:\) 然而不是原题也很简单,斜率优化板子,单调队列搞一下就完事了. 也可以wqs二分,复杂度可以做到\(O(m\log m)\),\(与\)p\(无关.所以R爷差点把\)p$出到\(10^5\). B 本题乱搞做法非常多,所以R爷动用了权限来…
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. dlstql,wsl A \(10pts:\) \(a=100,T=100\),对每个排列构造一个反的,一步到位即可. \(20pts:\) \(a=50\),构造\(1\)和所有元素交换的排列,实现交换\((v,u)\)可以令两者分别与\(1\)交换,选择排序即可. \(40pts:\) \(a=30\),构造前\(25\)个元素与\(1\)交换的排列,另有一个排列交换前\(25\)个与后\(25\)个元素. \(a=20\)时…
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(20pts:\) 枚举操作序列然后暴力跑,复杂度\(O(6^n)\). \([50,80]pts:\) 枚举改成dfs,每层操作后还原.复杂度\(O(3^n)\). 全0或全1可以直接返回. 写法优秀可以过\(80pts\). \(100pts:\) 类似非递归fft的写法,bitrev后可以位运算优化. 最下面四层可以预处理,复杂度\(O(3^{n-4})\). 然后疯狂卡常就完事了( 然而由于swk人菜常数大,明明所有…
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(70pts:\) 维护一个栈,从一侧向另一侧扫描,如果新加入的元素与当前栈顶相同,则出栈,否则进栈.显然一个子串是括号序列,当且仅当栈为空. 枚举起点,暴力模拟即可.复杂度\(O(n^2)\). \(100pts:\) 对于一个右端点,考虑哪些左端点可以和它匹配. 发现所有合法的左端点,两者栈的内容都是相等的,可以Hash判断. 实际上考虑每次加入字符时,只会在末尾变动一次,可以用trie树维护.复杂度\(O(\sigma…
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 今天正睿又倒闭了,从删库到跑路. 天祺鸽鸽txdy! A "不要像个小学生一样一分钟就上来问东西."--蔡老板 虽然配图确实很有迷惑性. 所以读题不仔细,爆零两行泪. "这题也就NOIP第二题难度吧."--R爷 \(30pts:\) 显然的暴力,读懂题意之后\(O(w\times h)\)模拟即可. \(100pts:\) 每根短棍的效果在于交换相邻数.所以最后一定仍是个排列. 可以默认每个位置都要交…
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. A \(21pts:\) 随便枚举,随便爆搜就好了. \(65pts:\) 比较显然的dp,设\(f_{i,j,k}\)表示在子树\(i\)中,两个赞助商分别选了\(j,k\)个的最优解. 对枚举的上下界卡的紧一点,按照树上背包的聚合分析,复杂度是\(O(n^3)\)的,可以通过. \(100pts:\) 观察数据范围可以发现,这题的子树大小限制可以抽象成一个经典的网络流模型. 跑一个最大费用流就好了. 我写丑了,每个点拆了\(5…
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. "这应该是正睿OI历史上第一次差评破百的比赛." "这说明来正睿集训的人越来越多了." "我很不能理解差评,因为在比赛开始前就有超过\(40\)个差评了." 天祺鸽鸽nb! A "这题标程是线性的,可是为什么没有出\(5\times 10^6\)呢?因为spj要带个\(\log\),这样就T了." \(100pts:\) 打表观察发现有解当且仅当\(\sum k…
[10.12模拟赛] 老大 题目描述 因为 OB 今年拿下 4 块金牌,学校赞助扩建劳模办公室为劳模办公室群,为了体现 OI 的特色,办公室群被设计成了树形(n 个点 n − 1 条边的无向连通图),由于新建的办公室太大以至于要将奖杯要分放在两个不同的地方以便同学们丢硬币进去开光,OB 想请你帮帮他看看奖杯放在哪两个办公室使得在任意一个在劳模办公室做题的小朋友能最快地找到奖杯来开光. 一句话题意:给出一个 n 个点的树,在两个合适且不同的点放上奖杯,使得每个点到最近的奖杯距离最大值最小. 输入…
传送门 写在前面:为了保护正睿题目版权,这里不放题面,只写题解. 首先恭喜swk今天翻车! "小心大样例演你."--天祺鸽鸽 果然swk今天被大样例演死了,天祺鸽鸽诚不欺我! A 这题标程是前几天ACM赛的双栈背包-- 然而可以排序之后直接背包,\(O(nm)\)随便过( B 菜 swk 菜 发现答案就是子串中最长border,即串长减去最短循环节. 每个字母是独立的,可以分开计算答案. 对第\(i\)个字母,设循环节循环次数为\(k\),在循环节内的长度为\(f_i\),剩余的长度为…
最小公倍数(lcm.c/.cpp/.pas) 题目描述 给定两个正整数,求他们的最小公倍数. 样例输入 28 12 样例输出 84 数据范围 对于40%数据:1<=a,b<=10^9 对于60%的数据:1<=a,b<=10^12 对于100%数据:1<=a,b<=10^100 提示:为了略微降低题目难度,增加以下条件: 1. 输入数据保证a>=b 2. 输入数据保证a.b没有前导0 3. 输入数据保证除了在两个正整数a.b之间的空格和行末换行符以外,不存在其他非数…
给出\(n\)个数,用最少的\(2^k\)或\(-2^{k}\),使得能拼出所有数,输出方案.\(n,|a_i|\leq 10^5\). 显然一个绝对值最多选一次.这个性质非常强. 如果所有都是偶数,可以直接除以\(2\). 否则\(1\)或\(-1\)必须选,暴力枚举选哪个然后递归,每层去重,发现最多只会递归\(\log a\)次.总复杂度\(O((n+a)\log n)\),等价于线段树上区间长度总和. \(n\)个数,每次可以花费\(1\)的代价给某个数\(+1\)或\(-1\),问变成不…
\(n\)个点,要求连一棵树,设点\(i\)的度数为\(d_i\),则其贡献为\(f(d_i)\mod 59393\),其中\(f(x)\)是一个\(k\)次多项式.最大化总贡献.\(n\leq 3000, k\leq 10, a_i\leq 50\). 对于任意一种度数序列,都可以生成一棵对应的树. 每个点度数\(\geq 1\),\(-1\)后等于\(n\)个点分\(n-2\)个度数. \(O(n^3)\)dp:\(f_{i,j}\)表示前\(i\)个点,度数和为\(j\)的最优解,转移的时…
写在前面:由于我数学基础不好,加上缺乏生成函数知识,所以这一下午我都处在掉线和非掉线的叠加态.而且我写\(\LaTeX\)很慢,所以笔记相当混乱而且不全面.说白了就是我太菜了听不懂. 1.一般生成函数 直接把序列写成多项式的形式.可以做个背包. 形式幂级数:只关心系数,不关心\(x\)的具体取值.只要运算方便,就可以把\(x\)取任意值来计算. \[1+x+x^2+-=\frac{1}{1-x}\] 显然这个东西是不对的,比如\(x=2\)就gg了. 但是我们硬点\(0<x<1\),它就是对的…
美妙的数字(number.c/.cpp/.pas) 题目描述 黄巨大认为非负整数是美妙的,并且它的数值越小就越美妙.当然0是最美妙的啦. 现在他得到一串非负整数,对于每个数都可以选择先对它做二进制非运算(模二意义下0.1互换,注意前导0也要交换),然后在任意相邻的两个数之间插入二进制与.二进制或,或者二进制异或.现在他想知道这样计算完产生的最美妙的数字是多少. 一共T组数据.对于每组数据,第一行一个n,表示这组数据中一串数有多少个.下面n个非负整数,表示这串数. 样例输入 2 2 3 6 3 1…
t1-Painting 这道题目比较简单,但是我比较弱就只是写了一个链表合并和区间DP. 别人的贪心吊打我的DP,嘤嘤嘤. #include <bits/stdc++.h> #define ll long long using namespace std; namespace chhokmah { #define N 100005 #define M 5005 int a[N], l[M], r[M], pos[N]; int n, m, cnt; ll sum[M], f[M][M]; ll…
T1 打表出奇迹,发现结论为\(E(a_n)=n+1\)即可. #include <iostream> #include <cstdio> #include <cctype> #include <cstring> using namespace std; int n,Q; long long rd() { long long x=0,f=1;char ch=getchar(); while(!isdigit(ch)) {if(ch=='-') f=-1;ch…
题目大意: 已知三个$n$位二进制数$A$,$B$,$C$. 满足: $A+B=C$ 它们二进制位中$1$的个数分别为$a$,$b$,$c$. 求满足条件的最小的$C$. Solution 唉,又是一道随缘猜结论的题,可惜极限数据卡掉了我一个点,开大数组就A了..... 通过$n \leq 10$的打表,我们发现所有的最优解中都有一种情况是$A$的二进制位的$1$是连续一段. 事实上,真的就是这样的! 设$t=a+b-c$,显然,$t$表示加法过程中进位的次数. 我们设$A$的$a$个$1$是连…
经典问题,给一张图,支持加边/删边/询问两点连通性. 离线统计边权(删除时间),lct维护最大生成树即可. 也可以按时间分治,维护一个可回退并查集即可. 主定理 很好用,但是记不住. 有一种简明的替代方式:画一棵递归树,考虑层数和每层的节点数(线段树分析.jpg) 分治时递归和处理中心的顺序可以是任意的,可以按照具体情况选择,以 简化复杂度. 快速排序的期望复杂度: \[T(n)=\frac{1}{n}\sum_{i=1}^n[T(i-1)+T(n-i)]+n-1=\frac{2}{n}\sum…
1.向量基础知识 \(atan2\)可以求极角,但是不是特别精确,在坐标接近\(10^{9}\)时会出锅,安全的做法是叉积. 旋转.反射和平移等都可以抽象为矩阵,即,它们可以复合.(需要一些必修四知识) 给一个序列,每个位置表示旋转.反射.平移中的一种,求\((x,y)\)经过序列\([l,r]\)的点. 线段树维护矩乘就好了,矩阵里需要带个常数位置. Simpson积分 不会积分,告辞. 2.简单题 求点\(p\)在直线\(p_1p_2\)上的投影. 投影就是点积,直接积就行了,必修四怎么学的…
1.总览 LCT 链分治(树剖) 点/边分治 2.点分治 一棵树,点有\(0/1\),多次修改,询问最远的两个\(1\)距离. 建出点分树,每个子树用堆维护:①最远的\(1\)距离:②它的每个儿子的①堆顶: 全局维护每棵子树②堆最大的两个值,每次修改暴力改就可以. 时间复杂度\(O(n \log^2n)\)(基本动态点分都是\(\log^2\)以上的复杂度--然而仍然随便过\(10^5\),小常数可能性微存?). 一棵树,点有点权,每次询问距离一个点不超过\(k\)的点权和. 每个点维护一个深度…
LINK:小B的夏令营 这道题是以前从没见过的优化dp的方法 不过也在情理之中. 注意读题 千万不要像我这个sb一样 考完连题意都不知道是啥. 一个长方形 要求从上到下联通的概率. 容易发现 K天只是用来计算概率的 和 dp的状态无关. 我们可以逐行 dp. 容易设f[i][l][r]表示前i行 当前行l~r没有被摧毁的概率. 考虑在k天之后第i行 l~r没被摧毁的概率. l-1在这k天被摧毁了 那么因为有序 概率为\(C(k,l-1)p^{l-1}(1-p)^{k-l+1}\) 对于r的那边同…
LINK:小B的图 这道题就比较容易了. 容易想到将询问离线 然后 从小到大排序 那么显然是优先放正图(x+k)的边. 考虑随着x的增大 那么负图上的边会逐渐加进来 一条边被加进来当且仅当 其权值小于其能影响到的某条边的权值. 这样 随便列一个不等式就可以解出下界. 值得注意的是 加边的时候 肯定是x较小的先加 所以这个也要排序. 一个需要证明的地方是:虽然x较小的先加 但事实上可能x较大的先加上去了. 这个时候 是否会影响到x较小的加边情况呢? 答案是否定的 考虑较大的可以先加进来 当且仅当…
LINK:小B的棋盘 考试的时候没有认真的思考 导致没做出来. 容易发现 当k>=n的时候存在无限解 其余都存在有限解 对于30分 容易想到暴力枚举 对称中心 然后 n^2判断. 对于前者 容易发现 对称中心为某个点或某两个点的中点 对于后者 可以发现排序过后双指针可以做. 双指针做的时候还是存在一些小细节的(爆零警告 两种属性 不可以随便判断就跳指针 得根据自己排序的顺序来判断是否跳指针. 拿到30之后还是考虑 对称中心的问题. 对于 一些点对的中点或者一些点当对称中心 显然是不合法的 如 以…
ZROI提高组模拟赛05总结 感觉是目前为止最简单的模拟赛了吧 但是依旧不尽人意... T1 有一半的人在30min前就A掉了 而我花了1h11min 就是一个简单的背包,我硬是转化了模型想了好久,生生把一个弱智题变成了一个不可做题 最后竟然在转化两次后的模型上以为自己做出来了 这个题比别人多花的1h左右的时间,而且只得到了30分,成为了这场比赛失败的关键因素 T2 依旧是一道简单题 有人20min之内就A掉了 感觉放在CF里最多算一道Div2 D,还是简单的那种 可是我又一次想复杂了 大意就是…
ZROI 普及组模拟赛02总结 先放[网址][http://zhengruioi.com/contest/96] 可能是有一段时间没有打这种正式的比赛了,今天打的很奇怪... T1 模拟水题 既然是普及组模拟赛T1还是比较良心的 20分钟就过掉了 T2 <论不仔细观察题目导致的惨案> 没有发现莫尔斯电码非常的全 所以应该枚举哪些不行,而不是枚举26个字母 但是根据计算\(2*26*1e6\)也能跑过去啊 不知道为什么就是超时了... 最可笑的是还卡了20min的常数,还自己造了几组1e6的数据…
2018.12.30[NOIP提高组]模拟赛C组总结 今天成功回归开始做比赛 感觉十分良(zhōng)好(chà). 统计数字(count.pas/c/cpp) 字符串的展开(expand.pas/c/cpp) 矩阵取数游戏(game.pas/c/cpp) 树网的核(core.pas/c/cpp) 统计数字(count.pas/c/cpp) 100 字符串的展开(expand.pas/c/cpp) 100 矩阵取数游戏(game.pas/c/cpp) 0 树网的核(core.pas/c/cpp)…
体育成绩统计 / Score 题目描述 正所谓“无体育,不清华”.为了更好地督促同学们进行体育锻炼,更加科学地对同学们进行评价,五道口体校的老师们在体育成绩的考核上可谓是煞费苦心.然而每到学期期末时,面对海量的原始数据,如何对数据进行处理,得到同学们的体育总评成绩却又成了体育部老师的一大难题. 对于大一的同学们来说,体育课的总评成绩由五部分组成:体育课专项成绩(满分50分).长跑测试成绩(满分20分).“阳光长跑”成绩(满分10分).体质测试成绩(满分10分).“大一专项计划”成绩(满分10分)…
最近蒜头君喜欢上了U型数字,所谓U型数字,就是这个数字的每一位先严格单调递减,后严格单调递增.比如 212212 就是一个U型数字,但是 333333, 9898, 567567, 3131331313,就是不是U型数字. 现在蒜头君问你,[1,100000][1,100000] 有多少U型数字? 提示:请不要输出多余的符号. import java.util.Scanner; public class Main1{ public static String mp[] = new String[…
7.29NOIP模拟赛 T1 YSG (1s,64MB,ysg.in,ysg.out) 描述 ysg,yxy,azw 三人正在刷题. 他们每做一题的时间都是一个有理数. 如果在某一时刻,三人同时做完一道 题,那么,他们会开始谈笑风生. 现在,他们想知道,从时刻 0 开始,至少要等多久才能谈笑风生. 输入格式 一行 6 个整数 a1,b1,a2,b2,a3,b3,其中 ysg 每做一道题的时间是 a1/b1, yxy 是 a2/b2,azw 是 a3/b3.不保证 a,b 互质. 输出格式 一行…