题目分享Y】的更多相关文章

题意:给出一个n个点n条边的图且不一定连通(原题面为每个节点出度为1),相邻节点不能同时被选,每个节点有其对应价值,求最多能获得多少价值?n<=1e6,val[i]<=1e6 分析:很容易想到,如果这个图是n个点n-1条边而且连通的话,那么这个图肯定是一棵树,这用树形dp是很好实现的 dp[x][0]表示x节点不选,其子树(包括x)能产生的最大价值 dp[x][1]表达x节点选,其子树(包括x)能产生的最大价值 那么dp[x][0]+=max(dp[v][1],dp[v][0]) dp[x][…
题意:一棵点数为n的树,每个节点有点权,要求在树中中找到一个最小的x,使得存在一个点满足max(该点点权,该点相邻的点的点权+1,其他点的点权+2)=x 分析:首先要能把题目转化为上述题意 首先题目让你选取一个点为根节点, 然后断掉这个点 让相邻的点与二次相邻的点的点权+1 然后剩下每次只能断掉与该点相邻的点, 断掉后处理与根节点断掉的处理一致 显然,对于任何一个根节点的儿子来说,他的权值一定只被+1 而对于其他节点来说,他的权值一定在他父亲断掉时和爷爷断掉时分别+1,也就是+2 那么我们现在转…
题意:给定一个T条边的无向图,求S到E恰好经过N条边的最短路径 T≤100 N≤1000000 分析:(据说好像假期学长讲过) 首先很容易想到的是dp[i][j][k]表示从i到j经过k条边的最短路径 显然是会mle以及t的 不过不妨碍我们yy一下这种错误的做法 dp[i][j][k]=min(dp[i][j][k],dp[i][p][k-1]+mapp[p][j]) 其中p是枚举的中间点,mapp是直接连接i与j的边的长度 也就是说i->j走k条边的路径可以转化为i->p走k-1条边再从p走…
题意:一张票有n位数,如果这张票的前一半数字的和等于后一半数字的和(n一定是偶数),就称这张票为快乐票.有些数被擦除了,标记为’?’(’?‘的个数也是偶数),现在Monocarp 和 Bicarp 进行一个游戏,两人轮流将’?'变换成0到9的任意一个数,Monocarp先手,如果最后票为快乐票则Bicarp赢,否则Monocarp赢. 分析:这...没想到5分钟就过了,可能是这种题的套路见多了... 首先,将题目转换成左边x个问号,现有和为sx,右边y个问号,现有和为sy,然后再开始写数 首先不…
题意:现在两个人做游戏,每个人刚开始都是数字1,谁赢了就能乘以k^2,输的乘以k(k可以是任意整数,每次不一定相同)现在给你最终这两个人的得分,让你判断是否有这个可能,有可能的话Yes,否则No. 分析:这题其实想起来也很好想,写起来也很好写,主要还是分享一下处理类似细节的方法 首先还是先回归到这个题,显然如果满足条件,首先a*b=x³,a,b分别为这两人的最终得分,然后考虑一下还需满足什么性质 我们还是从只有一轮开始考虑,a=k²,b=k,a*b=k³,这里就很容易想到几种判断方法,比如a=b…
题意:蛐蛐国里现在共有n只蚯蚓(n为正整数).每只蚯蚓拥有长度,我们设第i只蚯蚓的长度为a_i(i=1,2,...,n),并保证所有的长度都是非负整数(即:可 能存在长度为0的蚯蚓).每一秒,神刀手会在所有的蚯蚓中,准确地找到最长的那一只(如有多个则任选一个) 将其切成两半.神刀手切开蚯蚓的位置由常数p(是满足0<p<1的有理数)决定,设这只蚯蚓长度为x,神刀手会将其 切成两只长度分别为[px]和x-[px]的蚯蚓.特殊地,如果这两个数的其中一个等于0,则这个长度为0的蚯蚓也会被 保留.此外,…
题意: 给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1. 在一局游戏开始时,会确定一个节点作为根.接下来从女生开始,双方轮流进行 操作.当一方操作时,他们需要先选择一个不为根的点,满足该点到其父亲的边权为1; 然后找出这个点到根节点的简单路径,将路径上所有边的权值翻转(即0变成1,1 变成0 ).当一方无法操作时(即所有边的边权均为0),另一方就获得了胜利.如果在双方均采用最优策略的情况下,女生会获胜,则输出“Girls win!”,否则输 出“Boys win!”.为了…
有需要学习交流的友人请加入交流群的咱们一起,有问题一起交流,一起进步!前提是你是学技术的.感谢阅读! 点此加入该群​jq.qq.com 1. php 的垃圾回收机制 PHP 可以自动进行内存管理,清除不需要的对象. PHP 使用了引用计数 (reference counting) GC 机制. 每个对象都内含一个引用计数器 refcount,每个 reference 连接到对象,计数器加 1.当 reference 离开生存空间或被设为 NULL,计数器减 1.当某个对象的引用计数器为零时,PH…
解决数独 题目描述 编写一个程序,通过已填充的空格来解决数独问题. 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次. 空白格用 '.' 表示. 一个数独. 答案被标成红色. Note: 给定的数独序列只包含数字 1-9 和字符 '.' . 你可以假设给定的数独只有唯一解. 给定数独永远是 9x9 形式的. 输入格式: [["5","3",&qu…
题意:有m个限制,每个限制l1,r1,l2,r2四个数,限制了一个长度为n的数第l1到r1位要与第l2到r2相同,保证r1-l1=r2-l2,求在限制下一共有多少种数 分析: 暴力的话肯定是从l1-r1扫一遍用并查集,但显然时间和空间都是不允许的 但再一想,这是不是相当于区间并?操作 看到区间的东西,我直接就往线段树去想了 #include<cstdio> #include<map> #include<algorithm> using namespace std; #d…