[***]HZOJ 超级树】的更多相关文章

DeepinC超详细题解 考试时想出是dp了,因为显然第i级超级树和第i+1级超级树是有联系的(然而我并不能推出来),这dp的状态鬼才想的出来……个人理解,dp的实质就是从小的状态向大的状态转移,从而得到最终答案,状态分的越细,转移起来就越容易理解,同时相应的时间和空间复杂度也会变大.dp数组的设置就相当于分配状态,那么一开始为什么不把它分的细一点呢?最后在考虑优化. 回到这个题,设f[i][j]为第i级超级树,其中有j条路径且这些路径没有相同的点的方案数(有点难以理解,但这样是为了保证没有重复…
这个题我在考试的时候把所有的转移都想全了就是新加一个点时有I.不作为II.自己呆着III.连一个IV.连接两个子树中的两个V连接一个子树中的两个,然而V我并不会转移........ 这个题的正解体现了一种神奇的思想,对于好合并但是不好转移的dp我们可以先打散然后合并到最后,所以我们从一开始维护f[i][j]表示i阶超级树中有j个互不相交的路径的方案数. #include <cstdio> typedef long long LL; LL f[][],mod,temp; int n; int m…
鬼能想到的dp定义:dp[i][j]表示在一棵i级超级树中,有j条路径同时存在且这j条路径没有公共点时,可能的情况数 刚开始我也没看懂,所以举个例子 如一个2级的超级树,父节点为1,左右儿子为2,3 (感谢Al_Ca贡献的图,但我感觉题目里给的这个带编号更好一些.懒得把字去掉了将就着看吧) (感谢xkl贡献的截好的图,但我斟酌了一下带上样例解释你们是不是会更好理解啊-) (我太挑剔啦,不用给我发图啦,谢谢大家) dp[2][1]=9,因为2级树里的路径一共有9条(样例),显然只有一条路径的话肯定…
T1 星际旅行 题意:n个点,m条边,无重边,有自环,要求经过m-2条边两次,2条边一次,问共有多少种本质不同的方案.本质不同:当且仅当至少存在一条边经过次数不同. 题解:考试的时候理解错题,以为他是一棵树,然后我就凉凉了...考试感觉今天T1怎么这么难,看了题解才发现这是一道水题. 只有两条边经过一次,其余都经过两次,考虑拆边,把每条边拆成两条,拆完之后每个点的度一定都是偶数,问题就变成了选择两条边删去,使剩下的图形成欧拉路. 删去的边可以有三种情况: 1>任意两条有公共顶点的边 2>任意两…
题目传送门(内部题5) 输入格式 一行两个整数$k$.$mod$,意义见上. 输出格式 一行一个整数,代表答案. 样例 样例输入1: 2 100 样例输出1: 样例输入2: 3 1000 样例输出2: 样例输入3: 20 998244353 样例输出3: 数据范围与提示 样例解释:对于第一组样例,将节点如图编号,共有9条不同的路径:1,2,3,1-2,2-1,1-3,3-1,2-1-3,3-1-2. 限制与约定: 对于$10\%$的数据,$k \leqslant 4$.对于$40\%$的数据,$…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 一棵 k-超级树(k-SuperTree) 可按如下方法得到:取一棵深度为 k 的满二叉树,对每个节点向它的所有祖先连边(如果这条边不存在的话). 例如,下面是一个 4-超级树: 请统计一棵 k-超级树 中有多少条不同的简单有向路径,对 mod 取模. input 一行两整数 k, mod. output 一行一整数表示答案. example input1: 2…
也不能算考得好,虽然这次A了一道题,但主要是那道题太简单了,没啥成就感,而且有好多人都A掉了 除了那一道,其他的加起来一共拿了25pts,这我能咋办,无奈的去改题 整场考试的状态并不是很好啊,不知道是刚放假回来的原因还是昨天晚上没睡好, 考试的时候一直很困,那种睁不开眼的困,然后导致我这次考试前三个题,屁大点的思路都没有 所以还是要保养好精神的,毕竟还有这么多事 所以我下次考试要保持一个好的状态,然后拿最多的分::: 这次的考题思路极其怪癖,不对,是清奇!!!而且是想不到的清奇 正解:::: T…
6.17考试总结(NOIP模拟8) 背景 考得不咋样,有一个非常遗憾的地方:最后一题少取膜了,\(100pts->40pts\),改了这么多年的错还是头一回看见以下的情景... T1星际旅行 前言 考试的时候用一个自己感觉非常妙的思路骗了20pts,因为是双向边,所以分成两个边存,边的tot从2开始,这样可以保证没一组边的序号通过取\(xor\)可以相互转化. 然后对于每一个边记录经过次数,并且记一下经过次数为1和2的边的总数,然后对于dfs时转移的就是状压的每组边的状态,当然也可以拿Hash存…
星际旅行 0分 瞬间爆炸. 考试的时候觉得这个题怎么这么难, 打个dp,可以被儿子贡献,可以被父亲贡献,还有自环,叶子节点连边可以贡献,非叶子也可以贡献,自环可以跑一回,自环可以跑两回, 关键是同一子树会贡献,不同子树也会贡献. 这还不是欧拉图欧拉路问题,awsl 然后我就放弃了这个题 考完试看题解,tm一个大水题 虽然好像不算水, 思考两个点之间因为连接的是无向边,所以所有点入度出度都为2. 先不考虑自环 如果把两个点之间无向边拆成两个有向边,那么问题就变成去掉两个边使原图存在欧拉路. 于是乎…
题面:https://www.cnblogs.com/Juve/articles/11207540.html(密码)————————————————>>> 题解: 官方题解: 考虑dp[i][j]表示一棵i-超级树,有j条点不重复的路径的方案数.考虑dp[i]对dp[i+1]的贡献:枚举左子树和右子树的路径条数l.r,记num=dp[i][l]*dp[i][r],则有• 什么也不做 dp[i+1][l+r]+=num• 根自己作为一条新路径 dp[i+1][l+r+1]+=num• 根连…
考试时打了个暴力T40,正解是整除分块???完全没听过……而且这题居然还有人A了…… 整除分块 暴力就不说了,直接上正解: 将d除过去,右边向下取整(显然不能向上取整啊,会超k的)这个不用处理,整除就是向下取整的,然后就用到整除分块的结论了: $\frac{N}{i}$向下取整,他是一个递减的分段函数,能不能求他每一段的左右端点呢?这样时间复杂度会降好多的. 对于左端点l,右端点即为$\large \left \lfloor \frac N{\left \lfloor \frac Ni \rig…
Description 小A想做一棵很大的树,但是他手上的材料有限,只好用点小技巧了.开始,小A只有一棵结点数为N的树,结 点的编号为1,2,-,N,其中结点1为根:我们称这颗树为模板树.小A决定通过这棵模板树来构建一颗大树.构建过 程如下:(1)将模板树复制为初始的大树.(2)以下(2.1)(2.2)(2.3)步循环执行M次(2.1)选择两个数字a,b, 其中1<=a<=N,1<=b<=当前大树的结点数.(2.2)将模板树中以结点a为根的子树复制一遍,挂到大树中结点b的下 方(也…
该补一下以前挖的坑了 先总结一下 第二次 T1 搜索+剪枝 #include<cstdio> #include<iostream> #define ll long long using namespace std; ; int a[maxn],n,js[maxn]; bool jk[maxn]; ll ans; bool judge(int l,int r) { int i=l; while(i<r) { !=a[i+]); else i++; } ; } void out(…
目录 1 杂类算法 1.1 快读模板 1.2 O(1) int64 乘法 2 图论算法 2.1 树类 - Trie 2.2 树类 - 并查集(NB version) 2.3 树类 - LCA 2.4 树类 - 超级树状数组 2.5 树类 - 平衡树(STL) 2.6 树类 AC-Trie 2.7 图类 - 迪杰斯特拉 2.8 图类 - SPFA(带卡界)判负环 2.9 图类 - 网络流 3 字符串算法 3.1 KMP 3.2 manacher 4 数论算法 4.1 FFT by Jomoo 1…
目录 语法 c++ java 动态规划 多重背包 最长不下降子序列 计算几何 向量(结构体) 平面集合基本操作 二维凸包 旋转卡壳 最大空矩形 | 扫描法 平面最近点对 | 分治 最小圆覆盖 | 随机增量法 三维向量(结构体) 三维凸包 几何杂项 数据结构 ST表 单调队列 树状数组 线段树 并查集 左偏树 珂朵莉树,老司机树 莫队 二叉搜索树 一些建议 图论 图论的一些概念 图论基础 最短路径 最小生成树 树论的一些概念 最近公共祖先 联通性相关 图上的NP-hard问题 弦图+区间图 | 最…
9.1 辣鸡 可以把答案分成 每个矩形内部连线 和 矩形之间的连线 两部分 前半部分即为\(2(w-1)(h-1)\),后半部分可以模拟求(就是讨论四种相邻的情况) 如果\(n^2\)选择暴力模拟是有\(35pts\)的 发现按横坐标排序后,如果有一矩形与当前矩形横向不相邻,则之后矩形都是没有贡献的 所以枚举时比较横坐标视情况跳出 因为会产生贡献的矩形对并不多(不超过\(4e5\),具体还会小),所以这样优化以后可以通过 9.2 模板 暴力跳祖先的话是有\(30pts\)的,经过一番纯玄学特判可…
T1 星际旅行 考试时觉得是道数学题,但没想到忘了欧拉路. 首先将每条边都拆成两条边,那么题目就变成了任意删掉两条边,使得新的图中存在欧拉路.设 \(sum\) 表示自环的数量, \(du_{i}\) 表示不算自环,点 \(i\) 的度数,考虑以下几种情况, 删任意两个自环,则对答案的贡献为 \(\frac{sum\times\left(sum-1\right)}{2}\) 删一个自环和任意一条边,则对答案的贡献为 \(sum\times(m-sum)\) 删两条有公共顶点的边,因为删完边后,图…
T1 星际旅行 题目描述 一个图存在欧拉路的条件是有\(2/0\)个点有奇数个出度,把一条无向边拆成两条,所以可以选择拆两个自环.一个自环一条边.连接同一个点的边. 先判断图是否是边联通,不联通则输出0 于是答案就是 \(\textrm{C}_{zi}^{2}\)+\(zi\)*\(bian\)+\(\sum_{i=1}^{n}\textrm{C}_{in_{i}}^{2}\) 其中\(zi\)就是自环总数,\(bian\)就是边总数,\(in_{i}\)表示\(i\)点出度. Code #in…
打开比赛第一眼--超级树? 点开--原题 百感交集-- 欣喜于发现是半年前做过两遍的原题 紧张于如果A不了比较尴尬 绝望于发现根本不会做了 瞟了一眼t1,瞅了一眼t2,嗯--开始搞t3 10分钟打完暴力,开始dp退柿子.然而一个半小时过去了,发现经过一番挫折才终于想起来那个阴间的状态 上了个厕所,看了下表不早了,得开始写前面的了,好恋恋不舍~ 再看t2,10分钟打了个很不确定的二分 再看t1,20分钟推了个没有证明的结论 写完都交了 看了下表大概九点半多了,感觉两个小时一事无成,但还是铁下心又回…
NOIP模拟测试17&18 17-T1 给定一个序列,选取其中一个闭区间,使得其中每个元素可以在重新排列后成为一个等比数列的子序列,问区间最长是? 特判比值为1的情况,预处理比值2~1000的幂,存map里.接下来枚举左端点,算出比值,枚举右端点,用平衡树便携判断某个数是否已经在区间内出现过. #include<bits/stdc++.h> using namespace std; inline long long read() { long long x=0,fh=1; char c…
T1星际旅行 给出n个点,m条边,求满足一条路径使得m-2条边经过2次,2条边经过1次的方案数.并且题目中给出有自环. 看到题面我以为是个计数DP,可能是计数题做多了吧哈哈.其实仔细朝图的方向想一想就会发现,把每条边double一下,题目的要求就是去掉两条边,然后还能是欧拉路一笔画走完. 欧拉路的性质就是点的度数为偶,或者是其中两点度数为奇数.所以就要考虑拆边怎莫拆. 因为我把路径double了一下,所以现在度数都是偶数,如果随便拆两条边,那么肯定会出现四个单点,所以我拆的两条边要有公共点.在来…
T1 星际旅行 仔细一看,发现像一个欧拉路(简称一笔画). 满足"可以一笔画"的条件是: 1.所有点都有偶数条连边; 2.有偶数个点连奇数条边; 满足以上两个条件的任意一个即可一笔画. 然而还要保证图的联通性.就是说如果有一个图,有一些点是孤立的,按照题意也是可行的.但是如果图像是两个不同的区域,每个区域的点互不连 这种情况就是假的,直接输出零. 因为双向边,我们不妨把每条边看作有两条.那么满足题目情况有三种: 1.去掉任意两个自环; 2.去掉一个自环和任意一条边; 3.去掉连在一个点…
T1 星际旅行 其实就是求两条只走一遍的边的方案数. 考场上第一眼就感觉不可做,后来画了几个图,发现好像只要两个边是相连的就可以只走一遍,居然还真拿了30.. 其实是一道欧拉路的题,把每条非自环的边看作两条平行的边,问题就转变为了删掉两条边,使图变为欧拉图. 欧拉图存在的充要条件是图联通,且只有0或2个点的出度为奇数.因为把边一分为二,所以初始出度都为偶. 所以删两条相连的边是其中一种情况,30pts到手. 另外考虑自环,由于自环不计入出度,所以可以删掉两个自环或一个自环和任意一边. 注意在计算…
Time Limit: 20 Sec  Memory Limit: 552 MBSubmit: 2435  Solved: 1195 Description 小 Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的音乐. 这架超级钢琴可以弹奏出n个音符,编号为1至n.第i个音符的美妙度为Ai,其中Ai可正可负. 一个“超级和弦”由若干个编号连续的音符组成,包含的音符个数不少于L且不多于R.我们定义超级和弦的美妙度为其包含的所有音符的美妙度之和.两…
黑白图像直方图 发布时间: 2017年7月9日 18:30   最后更新: 2017年7月10日 21:08   时间限制: 1000ms   内存限制: 128M 描述 在一个矩形的灰度图像上,每个像素点或者是黑色的或者是白色的.黑色像素点用1表示,白色像素点用0表示.现在要求你编写一个程序,计算每列上黑色像素点的个数并输出.如下图所示是一个6∗8的黑板图像. 1 1 0 0 1 1 1 1  0 1 1 0 1 0 1 0  1 1 1 1 0 1 1 0  0 1 1 0 0 1 0 0 …
[BZOJ2006]超级钢琴(主席树,优先队列) 题面 BZOJ 题解 既然是一段区间 首先就要变成单点 所以求一个前缀和 这个时候贪心很明显了: 枚举每一个点和可以和它组成一段的可行的点 全部丢进一个堆里面 取出最大的\(K\)个就行了 但是,很显然,我们做不到都取出来 所以,考虑怎么优化这个过程 每次堆里面对于每个点就先维护一个最大贡献 显然的,只有取出了最大贡献,才会取出次大贡献 那么,最大/次大/\(K\)大贡献怎么算? 一个点,能够和他组成和弦的是一个连续的区间 最大的贡献就是它和区间…
题目描述 小Z是一个小有名气的钢琴家,最近C博士送给了小Z一架超级钢琴,小Z希望能够用这架钢琴创作出世界上最美妙的 音乐. 这架超级钢琴可以弹奏出n个音符,编号为1至n.第i个音符的美妙度为Ai,其中Ai可正可负. 一个“超级 和弦”由若干个编号连续的音符组成,包含的音符个数不少于L且不多于R.我们定义超级和弦的美妙度为其包含的 所有音符的美妙度之和.两个超级和弦被认为是相同的,当且仅当这两个超级和弦所包含的音符集合是相同的.  小Z决定创作一首由k个超级和弦组成的乐曲,为了使得乐曲更加动听,小…
[BZOJ2006]超级钢琴(主席树,优先队列) 题面 BZOJ 题解 既然是一段区间 首先就要变成单点 所以求一个前缀和 这个时候贪心很明显了: 枚举每一个点和可以和它组成一段的可行的点 全部丢进一个堆里面 取出最大的\(K\)个就行了 但是,很显然,我们做不到都取出来 所以,考虑怎么优化这个过程 每次堆里面对于每个点就先维护一个最大贡献 显然的,只有取出了最大贡献,才会取出次大贡献 那么,最大/次大/\(K\)大贡献怎么算? 一个点,能够和他组成和弦的是一个连续的区间 最大的贡献就是它和区间…
Gty的超级妹子树 Time Limit: 7 Sec  Memory Limit: 32 MBSubmit: 500  Solved: 122[Submit][Status][Discuss] Description 我曾在青山之中遇过你, 新竹做杖,鬓插紫茱萸. 跣足踏过无边丝雨, 又拾起燕川雪片片落如席…… Gty神(xian)犇(chong)从来不缺妹子…… 他又来到了一棵妹子树下,发现每个妹子有一个美丽度…… 由于Gty很 哲♂学 也很 机♂智,他只对美丽度大于某个值的妹子感兴趣. 他…
poj 2104 K-th Number 主席树+超级详细解释 传送门:K-th Number 题目大意:给出一段数列,让你求[L,R]区间内第几大的数字! 在这里先介绍一下主席树! 如果想了解什么是主席树,就先要知道线段树,主席树就是n棵线段树,因为线段树只能维护最大值或者最小值,要想求出第二大的数字怎么办呢?两颗线段树呗!好,那么第n大呢,就可以构造n棵线段树,这样的内存是显然会爆掉的,那么怎么办呢?因为每一次更新都是更新的是从叶子节点到根节点的一条路,路的长度大约是logn,如下图红色的为…