[JZOJ6353] 【NOIP2019模拟】给】的更多相关文章

题目 题目大意 对于所有的整数\(k \in [1,n]\),求叶子结点有\(k\)个的二叉树个数,满足每个非叶子结点都有两个儿子,并且对于每个叶子结点,从根节点到它经过的向左的边数少于等于\(m\)个. 思考历程 很容易推出这样的\(DP\): 设\(f_{i,j}\)表示\(m=i\)且\(n=j\)的答案是多少. \(f_{i,j}=\sum_{k \in [1,n)}{f_{i-1,k}f_{i,j-k}}\) 这样当然过不了. 然而,如果只看第二维,就会感觉它和卡特兰数长得很像. 于是…
100+60+40=200,被后面两个题卡着我很不爽. 立方数 [问题描述] 作为 XX 战队的狂热粉丝,MdZzZZ 看到了自己心仪的队伍在半决赛落败,顿时 心灰意冷.看着自己手中的从黄牛那里抢来的天价总决赛门票,MdZzZZ 觉得去鸟 巢已经没有意义了,于是他决定去跳"水立方".在他准备进"水立方"体育馆 时,一位大妈拦住了他的去路,并产生了一下对话: 大妈:"年轻人我看你印堂发黑,恕我冒昧直言,此去一行怕是会有什么不测." MdZzZZ:&…
二叉树 [问题描述] 从前有一棵二叉树,我们用如下方式来表示这棵二叉树. 如果一个节点没有儿子,我们用"0"来表示他. 如果一个节点有一个儿子,我们对它的表示以"1"开头,后面接对它儿子的表示. 如果一个节点有两个儿子,我们对它的表示以"2"开头,后面先接对它左儿子的表示,后接对它右儿子的表示. KJDH 十分贪玩,将这棵树染了色,KJDH 又十分聪明,它染色又很有规则:每个节点不能和它的孩子有相同的颜色,如果一个节点有两个孩子,那么这两个孩子也…
题目描述 Description Input Output Sample Input 3 2 3 3 6 5 1 2 1 3 Sample Output 15 Data Constraint 题解 迫真CSP模拟 简单容斥(×) 容斥套dp套容斥套dp(√) 先把lim按从小到大排序,同时把边的编号也改过来 考虑没有边时怎么做 枚举一个数位i,假设在i之前的n个数都等于lim,并且要保证i以前的异或和等于C的对应位置 如果i这一位上有一些数没有等于lim,那么先把一个没有等于lim的数x提出来,…
100+100+50=250.最后那道期望题需要用另外的方式统计. 精灵加护 ljss 被 M 个敌人打倒在地上啦!每个敌人有一个威力值 bi.但是他手中还拥有 N 把武器!每把武器有一个威力值 ai,每个武器可以消灭威力值小于等于自己的敌人,然后就不能再用了-. 但是他又发现:拿着 N 个武器好像还是打不过这些敌人!但是他不虚,因为每把武器有一个精灵附体来保护他,每个精灵可以令这把武器无视一个特定敌人的威力值而直接秒杀他! 但是他还是不太确定在精灵的帮助下能否消灭所有敌人.如果能消灭所有敌人输…
100+100+40=240.我觉得如果没做过第三题考场上却能想出来的都是神仙. 基因突变 [问题描述] 邪恶的 707 刚刚从白垩纪穿越回来,心中产生了一个念头:我要统治人类! 但是统治人类是很庞大且复杂的一个工程,707 尝试了洗脑,催眠,以及武装镇压都没能成功地统治人类,于是她决定从科学上对人类的基因进行研究从而达到他的目的. 707 获取了人类的基因信息并尝试对基因进行实验.他发现可以把人类的基因 看做一个只包含小写字母的字符串,并定义从头开始任意长度的基因为"源头基因" 人类…
0+0+20=20,不给大样例,小数据又水,还没有题解的垃圾题. A 题 问题描述: long long ago, Lxhgww 统治的国家里有 n 个城市,其中某一个城市是 capital (首都),这 n 个城市构成以 capital 为根的有向树. Lxhgww 会通过发送指令去派一些士兵去保卫这些城市.Lxhgww 发出的指令格式为 x,k,表示向 x 结点派送 k 个士兵,向 x 的子节点派送 k + 1 个士兵,向 x 的子节点的子节点派送 k + 2 个士兵,以此类推. 现在考古学…
100+100+20=220,T3吐槽:整个考室没有一个人正确地理解了题意. 树上路径(phantasm) Akari 的学校的校门前生长着一排 n 棵树,从西向东依次编号为 1 ∼ n.相邻两棵树间的距离 都是 1. Akari 上课的教学楼恰好在树 1 旁,所以每个课间,Akari 都很想走出教室,上树活动.Akari会依次经过 m 棵树,从树 1 一路向东跳到树 n.临近上课时,Akari 会再次上树,经过 m 棵树从树n 一路向西跳到树 1 ,准备上课.由于 Akari 睡眠很充足,Ak…
题面 运河计划 问题描述 水运在人类的交通运输史中一直扮演着重要的角色.借助河流.的便利,人们得以把大量的货物输送到天南海北不仅仅是自然界现成的河流,人工开凿的运河(如苏伊士运河.巴拿马运河.我国的京杭大运河)都为文明的发展做出了卓越的贡献. C 国计划建设若干条运河以沟通南北两大水系.鉴于奇奇怪怪的原因,建设只能沿棋盘式的网格交点及其连线进行,相关信息如下图所示: 目标将河流 A 标红的港口与河流 B 标蓝的港口相连(红.蓝港口位置给定,数目相等,且都等于需要开凿的运河条数)为了节约维护成本,…
题目描述 Description Input Output Sample Input 见下载 Sample Output 见下载 Data Constraint 题解 lj题卡线段树 求出每个右端点往左第一个跳到的点,可以变成一棵树 如果r1r2(r1<r2)中间没有把两个点分开的弦,那么就是r1的深度 用一个单调栈可以求出往左跳到的点(每次把若干小区间合并),但是有可能一条弦跳到的位置会被向后的一条弦切断 所以再用一个单调栈求出每个右端点向左第一个跨过它的左端点,如果再维护过程中出现了交叉的情…
题目描述 Description Input 第一行两个个整数 n,k. 之后 n -1 行,第 i 行两个整数 ui, vi, 表示一条树边. 保证输入的数据构成一棵树. Output 一行一个数表示答案. Sample Input Sample Input1 3 2 1 2 1 3 Sample Input2 10 367305945 1 2 2 3 2 4 3 5 2 6 5 7 1 8 4 9 1 10 Sample Output Sample Output1 28 Explanatio…
题目描述 Description 小 A 现在想用…
题目描述 Description Input Output 若无解,则输出"Impossible". 否则第一行输出"Possible",第二行输出 n 个正整数,依次输出序列 a 中每个数. Sample Input 5 2 2 2 7 5 3 1 4 2 2 3 4 5 1 4 Sample Output Possible 6 7 1000000000 6 3 Data Constraint 题解 线段树优化连边 ki向xij连边,xi与xi+1间的点向ki连边…
题目描述 Description 给定由 n 个点 m 条边组成的无向连通图,保证没有重边和自环. 你需要找出所有边,满足这些边恰好存在于一个简单环中.一个环被称为简单环,当且仅当它包含的所有点都只在这个环中被经过了一次. 注意到这些边可能有很多条,你只需要输出他们编号的异或和即可. Input 第一行两个数 n, m. 接下来 m 行,每行两个数 ai , bi,表示第 i 条边连接了 ai , bi. Output 输出一个数,表示所有满足条件的边的编号的异或和. Sample Input…
题目描述 Description Input 从文件b.in中读入数据. 第丬行三个正整数 n, m, K. 接下来 n 行每行 m 个正整数, 表示矩阵A. Output 输出到文件b.out中. 不行, 两个数分别表示机大值和和. Sample Input 3 5 2 1 5 3 3 3 4 1 3 3 4 4 2 4 4 3 Sample Output 4 20 Data Constraint 题解 从左往右扫,维护一个宽为K的区域 对于一个位置(i,j),求出bz[i][j]表示(i,j…
题目描述 题解 吼题但题解怎么这么迷 考虑一种和题解不同的做法(理解) 先把僵尸离散化,h相同的钦(ying)点一个大小 (可以发现这样每种情况只会被算正好一次) 计算完全被占领的方案,然后1-方案/概率 由于大小确定了,所以最后会被分成若干不相连的块,且块中至少有一只僵尸,大的僵尸能占领小的僵尸的块,所以相邻两块之间一定会断开 那么一种占领的方案对应的是一类高度情况,考虑所有的占领方案即可求出所有的高度情况 定义一个块的编号为所占领的最大僵尸的编号 设f[i][x](x>0)表示以i为根的子树…
题目描述 题解 之前做过一次 假设图建好了,设g[i]表示i->j(i<j)的个数 那么ans=∏(n-g[i]),因为连出去的必定会构成一个完全图,颜色互不相同 从n~1染色,点i的方案数是(n-g[i]) 用线段树合并维护集合即可 code #include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio>…
题目描述 题解 随便bb 详细题解见 https://www.cnblogs.com/coldchair/p/11624979.html https://blog.csdn.net/alan_cty/article/details/84557477 https://www.cnblogs.com/Iking123/p/11626041.html 这里讲讲自己发现的东西和一些细节 f[i][p][a]表示第i位以后(包括第i位)的最大值,a表示个位,在第i为进1的个位会变成什么 为什么要包括第i位…
题目描述 题解 一种显然的水法:max(0,-(点权-边权之和*2)) 这样会挂是因为在中途体力值可能会更小,所以考虑求走完每棵子树所需的至少体力值 考虑从子树往上推求出当前点的答案 设每棵子树从根往下走的所需体力值为f,走完的贡献为sum 由于要加上 当前点-->儿子 这条边,所以实际上走完的贡献sum'=sum-边权*2 所需的体力值f'=max(边权+f,2*边权-sum),这里其实有两种情况 ①当前点-->儿子-->子树(-->儿子),那么最坏情况就是(子树的最坏情况+边权…
题目描述 题解 一种好想/好写/跑得比**记者还快的做法: 对所有询问排序,按照R递增的顺序来处理 维护每个点最后一次被覆盖的时间,显然当前右端点为R时的答案为所有时间≥L的点的权值之和 LCT随便覆盖一发,保证一段重链上的点的颜色相同(这样可以直接修改),用树状数组维护权值和 由于要保证颜色相同,所以不能随便moveroot 覆盖时先把x和y的lca和原树上的父亲断掉,把x-->lca这一段覆盖,然后再覆盖y-->lca向y方向的儿子 反正随便写应该就能过( 另一种做法 也就是题解的难想/难…
题目描述 题解 qy的毒瘤题 CSP搞这种码农题当场手撕出题人 先按照边权从大到小建重构树,然后40%暴力修改+查找即可 100%可以定期重构+平衡规划,每次把B个询问拉出来建虚树,在虚树上暴力维护每一段的凸壳,在凸壳上二分 虚树建法: 按照dfs序排序,每次用栈维护从根到当前点的栈 每次把当前点和栈顶做lca,若lca=栈顶就直接加,否则一直弹到栈顶是lca的祖先,顺便记录下每个点在虚树上的父亲 如果栈顶=之前的lca就不用管,否则加上lca,修改最后弹出的点的父亲 (注意要把根加进去) 设每…
题目描述 题解 虫合 由于前几天被教♂育了,所以大力找了一发规律 先把m-1,设f[i][j]表示m≤i,有j个叶子节点的答案 转移显然,也显然是O(n^3)的 把f打出来后长这样: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 1 1 2 5 13 34 89 233 610 1597 4181 10946 28657 75025 196418 1 1 2 5 14 41 122…
Description: 题解: 显然满足二分性. 并且每一条边要不选l要不选r. 二分的那条链肯定要选l. 考虑有两个人在走最短路,一个人一开始必须走二分的那条链,要求第一个人走的比第二个人快. 安排的话也比较简单,第一人先走到这条边就给l,第二个人就给r. 还有一种想法,先只给二分的链l,其它都给r,跑一遍最短路,设为dis1. 然后再从二分的链的结尾开始,每条边都设为l,跑最短路,dis2. 然后一个点x的dis2[x]+二分的链长<=dis1[x],那么就可以走这个点,否则不能走,最后看…
Description: ​ 小 A 和小 B 在玩一个游戏,他们两个人每人有…
Description: 小 D 的家门口有一片果树林,果树上果实成熟了,小 D 想要摘下它们. 为了便于描述问题,我们假设小 D 的家在二维平面上的 (0, 0) 点,所有坐标范围的绝对值不超过 N 的整点坐标上都种着一棵果树.((0, 0) 这个点没有果树) 小 D 先站在 (0, 0) 处,正对着 (1, 0) 的方向. 每次摘果实时,小 D 会逆时针选择他能看到的第 K 棵还未摘取果实的果树,然后向着这个方向走去,在行走的过程中摘下沿路的所有的果树上的果树果实,直到走到果树林的边缘. 接…
题目 题目大意 给你一个由整点组成的矩形,坐标绝对值范围小于等于\(n\),你在\((0,0)\),一开始面向\((1,0)\),每次转到后面第\(k\)个你能看到的点,然后将这条线上的点全部标记删除. 问最后一个被标记删除的点的坐标. 正解 先吐槽一句,原来删除的点是一条线上的,而不是一个点-- 害得我以为是一道神题--更可恨的是,我看不出我的暴力有什么错! 既然一次删除的点是在一条线上的,那不妨将整条线上的东西看成一个点. 那就变成了一个约瑟夫问题(也就是猴子选大王). 共有\(8\sum_…
题目 题目大意 给你一棵树,对于每一条边,求删去这条边之后,再用一条边(自己定)连接两个连通块,形成的树的直径最小是多少. 正解 首先,将这棵树的直径给找出来.显然,如果删去的边不在直径上,那么答案就是直径. 接下来考虑删去的边在直径上的情况. 自己连的边应该要是两棵树的直径的中点(中点就是直径上到端点最大距离最小的点). 答案就是两棵树的直径的一半(当然这是粗略的说法)加上边权,和两棵树内部的直径长度的最大值. 设直径端点为\(S\)和\(T\),现在想象直径是横过来的一条线,有一堆树挂在上面…
题目 题目大意 维护一个无向图的割边条数,支持加边和删边. 正解 (PS:这是我很久之前在OJ上打出来的题解,现在直接copy过来) 题解只有一句话,估计没多少人可以看得懂.感觉出题人偷懒不想写题解-- 刚了一个晚上终于理解了题解的做法-- 由于本人还没有AC(时间比较匆忙),所以只是在这里梳理一下思路,顺便造福一下人类. 首先都知道线段树分治是个什么意思吧? 线段树分治是一种有效地利用撤销操作替代删除操作的套路.在这题中,所有的加边删边操作变成了加边和撤销操作.可以把操作看成一个栈,加边的时候…
题目 题目大意 给你一个数列,每次可以选择任意两个相邻的数\(x\)和\(y\),将其删去,并在原来位置插入\(x+2y\). 每次询问一个区间,对这个区间进行上述操作.求最后剩下的数最大是多少. 答案需要取模. 思考历程 看到这题,第一个想法是:这题既要搞个最大值,又要取模,所以肯定是贪心. 然而不会-- \(O(n^3)\)的暴力是可以打的,直接区间\(DP\).然而我没有打. 其实最大的瓶颈是,我需要比大小,然而数太大,会炸掉-- 这题题面本身就对暴力不友好-- 正解 其实我比赛的时候就发…
传送门. 题解: 我果然是不擅长分类讨论,心态被搞崩了. 注意到\(m<=n-2\),意味着除了1以外的位置不可能被加到a[1]两遍. 先考虑个大概: 考虑若存在\(x,x-1,-,2\)(有序)这样的,且1要么不出现,要么出现在2的左边,那么\(a[1]=\sum_{i=1}^x a[i]\). 同样,若存在\(y,y+1,-,n\),且1要么不出现,要么出现在n的左边,那么\(a[1]=a[1]+\sum_{i=y}^n a[i]\). 开始讨论: 1.1没有出现,直接枚举x,求出最大的y的…