<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yrhuadonghui的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yrhuadonghui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yrhuadonghui]]></copyright><item><title><![CDATA[AtCoder Beginner Contest 401]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/147191384</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/147191384</guid><author>yrhuadonghui</author><pubDate>Sun, 13 Apr 2025 14:25:29 +0800</pubDate><description><![CDATA[f[i][j]=max(max(len1,len2),ans1[i]+ans2[j]+1) 某棵树的直径是原本的树的直径和两个点到最远处的距离之和+1的最大值。我们使用二分来找到一棵树到另一颗树两个点的最远处距离的和+1>=max(len1,len2) 的分界点，分界点前直接加点的数量*最大直径，分界点及分界点后加第一颗树的距离数量+第二颗树分界点后的前缀和。先把o的两边的位置的？改为 . 当o的数量等于可填写的最多的数量时，长度为偶数的连续区间是?,奇数则直接按照o?直接边遍历边更新，记得取模运算。]]></description><category></category></item><item><title><![CDATA[第5关：求解图的m着色问题]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146580373</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146580373</guid><author>yrhuadonghui</author><pubDate>Thu, 27 Mar 2025 23:35:10 +0800</pubDate><description><![CDATA[【问题描述】给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色，每个顶点着一种颜色。如果有一种着色法使G中每条边的两个顶点着不同颜色，则称这个图是m可着色的。图的m着色问题是对于给定图G和m种颜色，找出所有不同的着色法。【输入格式】第1行有3个正整数n、k和m，表示给定的图G有n个顶点和k条边，m种颜色。接下来的k行中，每行有两个正整数u、v，表示图G的一条边（u，v）。【输出格式】程序运行结束时，将计算出的不同的着色方案数输出。根据提示，在右侧编辑器补充代码，计算并输出所有不同的着色法。]]></description><category></category></item><item><title><![CDATA[第6关：逐位整除数探索]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146580237</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146580237</guid><author>yrhuadonghui</author><pubDate>Thu, 27 Mar 2025 23:33:05 +0800</pubDate><description><![CDATA[本关任务：n位逐位整除数：从其高位开始，高1位能被1整除（显然）, 高2位能被2整除，…，整个n位数能被n整除。输入n，试探索所有的n位逐位整除数并输出。根据提示，在右侧编辑器补充代码，试探索所有的n位逐位整除数并输出。例如：102450就是一个6位逐位整除数。要求：用回溯递归来完成！]]></description><category></category></item><item><title><![CDATA[第4关：求解n皇后问题]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146560509</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146560509</guid><author>yrhuadonghui</author><pubDate>Thu, 27 Mar 2025 15:08:46 +0800</pubDate><description><![CDATA[本关任务：在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则，皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n皇后问题等价于在n×n格的棋盘上放置n个皇后，任何2个皇后不能放在同一行或同一列或同一斜线上。求有多少种摆放方式，每种方式的具体摆法？根据提示，在右侧编辑器补充代码，求有多少种摆放方式，每种方式的具体摆法？第1个解：(1,2) (2,4) (3,1) (4,3)第2个解：(1,3) (2,1) (3,4) (4,2)dfs搜索即可，细节见代码（问题可以写在评论区）]]></description><category></category></item><item><title><![CDATA[第3关：用回溯法求0-1背包问题]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146558227</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146558227</guid><author>yrhuadonghui</author><pubDate>Thu, 27 Mar 2025 14:32:52 +0800</pubDate><description><![CDATA[本关任务：给定n种物品和一背包，背包的载重量为C。设物品i的重量是wi，其价值为pi。每件物品要么整体装入背包，要么不装，不能拆开装。问应如何选择装入背包的物品，使得装入背包中的物品的总重量不超过C、总价值最大?根据提示，在右侧编辑器补充代码，计算并输出装入背包中的物品的总重量不超过C的最大价值。要求：用递归回溯来实现，回溯过程中加入剪枝！总重量=6,总价值=8。]]></description><category></category></item><item><title><![CDATA[第6关：部分快速排序-用分治法实现]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146397006</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146397006</guid><author>yrhuadonghui</author><pubDate>Thu, 20 Mar 2025 14:48:24 +0800</pubDate><description><![CDATA[基本思想：在待排序的n个元素中任取一个元素（通常取第一个元素）作为基准，把该元素放入最终位置后，整个数据序列被基准分割成两个子序列，所有小于基准的元素放置在前子序列中，所有大于基准的元素放置在后子序列中，并把基准排在这两个子序列的中间，这个过程称作划分。本关任务：输入正整数k，在数组(无序）中找出第k个最小的数。（1<=k<=n)，用快速排序的基本思想来完成！然后对两个子序列分别重复上述过程，直至每个子序列内只有一个记录或空为止。为了完成本关任务，你需要掌握：快速排序的基本思想。]]></description><category></category></item><item><title><![CDATA[第5关：直接插入排序]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146396983</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146396983</guid><author>yrhuadonghui</author><pubDate>Thu, 20 Mar 2025 14:47:31 +0800</pubDate><description><![CDATA[设大问题f(a，n，i)用于实现a[0..i]（共i+1个元素）的递增排序，则小问题f(a，n，i-1)用于实现a[0..i-1]（共i个元素）的递增排序。本关任务：对于给定的含有n个整数元素的数组a，采用直接插入排序法对其按元素递增排序，设计相应的递归排序算法。根据提示，在右侧编辑器补充代码，并写好递归排序算法。]]></description><category></category></item><item><title><![CDATA[第4关：限制条件排队购票]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146396618</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146396618</guid><author>yrhuadonghui</author><pubDate>Thu, 20 Mar 2025 14:36:08 +0800</pubDate><description><![CDATA[一场球赛开始前，售票工作正在紧张进行中。每张球票为50元，有m+n个人排队等待购票，其中有m 个人手持50元的钞票，另外n个人手持100元的钞票。这m+n个人排队购票时，特别规定第5位为持50元，第8位为持100元，求出这m+n个人排队购票，使售票处不至出现找不开钱的局面的不同排队种数。（约定：开始售票时售票处没有零钱，拿同样面值钞票的人对换位置为同一种排队。根据提示，在右侧编辑器补充代码，求出这m+n个人排队购票，使售票处不至出现找不开钱的局面的不同排队种数。本关任务：带限制条件的排队购票问题。]]></description><category></category></item><item><title><![CDATA[第2关：排队购票-常规排队（用递归实现）]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146396010</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146396010</guid><author>yrhuadonghui</author><pubDate>Thu, 20 Mar 2025 14:19:18 +0800</pubDate><description><![CDATA[一场球赛开始前，售票工作正在紧张进行中。每张球票为50元，有m+n个人排队等待购票，其中有m 个人手持50元的钞票，另外n个人手持100元的钞票。求出这m+n个人排队购票，使售票处不至出现找不开钱的局面的不同排队种数。（约定：开始售票时售票处没有零钱，拿同样面值钞票的人对换位置为同一种排队。根据提示，在右侧编辑器补充代码，求出这m+n个人排队购票，使售票处不至出现找不开钱的局面的不同排队种数。]]></description><category></category></item><item><title><![CDATA[第1关：汉诺塔游戏]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146395769</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146395769</guid><author>yrhuadonghui</author><pubDate>Thu, 20 Mar 2025 14:12:38 +0800</pubDate><description><![CDATA[（1）有三根桩子A、B、C。A桩上有n个圆盘，最大的一个圆盘在底下，其余圆盘一个比一个小，依次叠上去。根据提示，在右侧编辑器补充代码，求解n个圆盘从A桩全部移到C桩上的移动次数。（2）每次只移动一块圆盘，规定小盘的只能叠放在大盘的上面，而大盘不能叠放在小盘的上面。（3）目标是把所有n个圆盘从A桩全部移到C桩上，如图所示。试求解n个圆盘从A桩全部移到C桩上的移动次数。本关任务：汉诺塔游戏。]]></description><category></category></item><item><title><![CDATA[Educational Codeforces Round 176 (Rated for Div. 2)]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146353951</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146353951</guid><author>yrhuadonghui</author><pubDate>Tue, 18 Mar 2025 23:29:00 +0800</pubDate><description><![CDATA[签到题


B.Array Recoloring

手推一下可以发现，答案其实就是前k+1大的数 。但是需要注意的是需要特判一下 k==1 的情况。此时最后一个数只能从两侧选。


C.Two Colors

枚举每一个数，二分找到和大于等于n的第一个数，然后就是求这后面满足条件的数字的条件和。条件就是每一个数减去能覆盖另一种颜色的数量（只需要保证另外一种颜色至少保留一个即可）。这个过程可以使用前缀和来优化。详情见代码，另外让初始的每一个颜色都小于等于n-1，这样就可以直接求得这个颜色对于其他颜色的覆盖情况]]></description><category></category></item><item><title><![CDATA[第6关：牛牛鱼缸-附加题]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146233728</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146233728</guid><author>yrhuadonghui</author><pubDate>Thu, 13 Mar 2025 15:58:56 +0800</pubDate><description><![CDATA[输入描述：输入数据包括3行，第1行为新放入鱼的尺寸范围[minSize，maxSize]（1<= minSize, maxSize<=1000），以空格分隔，第2行为鱼缸里面已有鱼的数量n（1<=n<=50）,第3行为已经有的鱼的大小fishSize[i](1<= fishSize[i]<=1000)，以空格分隔。本关任务：问题描述：牛牛有一个鱼缸，鱼缸里面已经有n条鱼，每条鱼的大小为fishSizei，牛牛现在想把新捕捉的鱼放入鱼缸。输出描述：输出有多少种大小的鱼可以放入这个鱼缸。]]></description><category></category></item><item><title><![CDATA[第5关：猴子爬山]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146233187</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146233187</guid><author>yrhuadonghui</author><pubDate>Thu, 13 Mar 2025 15:46:13 +0800</pubDate><description><![CDATA[本关任务：一个顽猴在一座有n级台阶的小山上爬山跳跃，猴子上山一步可跳1级，或跳3级，试求上山的n级台阶有多少种不同的爬法。根据提示，在右侧编辑器补充代码，求上山的n级台阶有多少种不同的爬法。]]></description><category></category></item><item><title><![CDATA[第4关：双关系递推数列]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146232801</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146232801</guid><author>yrhuadonghui</author><pubDate>Thu, 13 Mar 2025 15:40:15 +0800</pubDate><description><![CDATA[根据提示，在右侧编辑器补充代码，求集合M中的元素从小到大排列后所得序列的第n（n<10000）项。试求集合M中的元素从小到大排列后所得序列的第n（n<10000）项。可以关注我，会一直更新头歌的练习。(3)  再无其它的数属于M。]]></description><category></category></item><item><title><![CDATA[第3关：完美综合运算式]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146232050</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146232050</guid><author>yrhuadonghui</author><pubDate>Thu, 13 Mar 2025 15:26:09 +0800</pubDate><description><![CDATA[以下含乘方（a^b即为a的b次幂）、加、减、乘、除的综合运算式（1）的右边为一位的非负整数f，请把数字0,1,2,…输入非负整数f(0≤f≤9)，输出相应的完美综合运算式。根据提示，在右侧编辑器补充代码，输出相应的完美综合运算式。满足上述要求的表达式（1）称为完美综合运算式。本关任务：完美综合运算式。]]></description><category></category></item><item><title><![CDATA[第1关：整数对]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146231558</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146231558</guid><author>yrhuadonghui</author><pubDate>Thu, 13 Mar 2025 15:12:16 +0800</pubDate><description><![CDATA[设b是正整数a去掉一个数字后的正整数，对于给出的正整数n，寻求满足和式a+b=n的所有正整数对a,b。根据提示，在右侧编辑器补充代码，计算并输出所有正整数对a,b。本关任务：用蛮力法求整数对。100共有以上2个解。测试输入： 100；]]></description><category></category></item><item><title><![CDATA[第2关：最小连续m个合数]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146231442</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146231442</guid><author>yrhuadonghui</author><pubDate>Thu, 13 Mar 2025 15:09:47 +0800</pubDate><description><![CDATA[本关任务：对于指定的正整数m(1<=m<=200),在正整数中搜索最小的连续m个合数，输出该区间的起始数与终止数。根据提示，在右侧编辑器补充代码，输出该区间的起始数与终止数。最小的连续50个合数为:19610,19659。最小的连续20个合数为:1130,1149。]]></description><category></category></item><item><title><![CDATA[牛客小白月赛111 ]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146105551</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146105551</guid><author>yrhuadonghui</author><pubDate>Fri, 07 Mar 2025 21:46:27 +0800</pubDate><description><![CDATA[牛客题解]]></description><category></category></item><item><title><![CDATA[关于异或性质的应用]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146074700</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/146074700</guid><author>yrhuadonghui</author><pubDate>Thu, 06 Mar 2025 16:57:55 +0800</pubDate><description><![CDATA[异或的应用]]></description><category></category></item><item><title><![CDATA[Codeforces Round 966 (Div. 3)]]></title><link>https://blog.youkuaiyun.com/yrhuadonghui/article/details/141198111</link><guid>https://blog.youkuaiyun.com/yrhuadonghui/article/details/141198111</guid><author>yrhuadonghui</author><pubDate>Wed, 14 Aug 2024 19:04:45 +0800</pubDate><description><![CDATA[按照顺序记录，只要旁边无人的时候入座的话，就是违规。]]></description><category></category></item></channel></rss>