<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[palax0的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/palax0</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; palax0]]></copyright><item><title><![CDATA[Codeforces Round #669 (Div. 2) C. Chocolate Bunny]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/108487214</link><guid>https://blog.youkuaiyun.com/palax0/article/details/108487214</guid><author>palax0</author><pubDate>Wed, 09 Sep 2020 13:27:11 +0800</pubDate><description><![CDATA[C. Chocolate Bunny
题目链接
题目描述
给一个长度为nnn的排列pnp_npn​，由从111到nnn的整数组成。要求通过询问猜出排列的顺寻，有最多2n2n2n次询问机会。
询问方式如下："?xy"(1≤x,y≤n,x≠y)"?\quad x \quad y"(1\leq x,y\leq n,x\neq y)"?xy"(1≤x,y≤n,x​=y)系统将会返回pxmod&nbsp;pyp_xmod\ p_ypx​mod&nbsp;py​的值。
题目分析
细节问题暂不讨论，主要讨论如何询问：
]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest I A. Cow Gymnastics]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104832885</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104832885</guid><author>palax0</author><pubDate>Fri, 13 Mar 2020 03:03:00 +0800</pubDate><description><![CDATA[A. Cow Gymnastics
链接
题目描述
有n头牛一起参加了k次比赛，给出k次比赛的排名，问共有几组牛满足 其中一头牛每次比赛都比另一头厉害。
题目分析
由于数据量比较小（1&lt;=k&lt;=10）（1&lt;=n&lt;=20）,直接多层循环计算出每两头牛之间的胜负情况即可。
代码
#include &lt;bits/stdc++.h&gt;

using namespace st...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest I (3.08) C. 积木]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104832859</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104832859</guid><author>palax0</author><pubDate>Fri, 13 Mar 2020 02:34:46 +0800</pubDate><description><![CDATA[C. 积木
链接
题目描述
用积木块来搭房子。
给出最长的积木块的长度，该积木块只能当作地基。
如果当前搭建的房子的最顶端的积木块的长度为k，可以选择一个长度属于[1,k/2]的积木放在房子的最顶端，或者选择不再继续放置积木。
求一共能搭建几种房子。
题目分析
f(n)代表地基长度为n时的房子数量，先列举前几种情况看一看：
f(1)=1,f(2)=1+f(1)
f(3)=1+f(1),f(4)=1...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest IV D. Mixing Milk]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104832835</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104832835</guid><author>palax0</author><pubDate>Fri, 13 Mar 2020 02:09:12 +0800</pubDate><description><![CDATA[D. Mixing Milk
链接
题目描述
有三个桶，给出每个桶的容量和里面装有的牛奶量，然后进行将A中牛奶倒入B，B中牛奶倒入C，C中牛奶倒入A的操作（如果另一个桶满了就不倒了），共100次（倒一次算一次）。求最后每个桶各有多少牛奶。
题目分析
因为倒的次数（100次）与操作类型（3种）都很少，直接循环100次就完事了。
代码
#include &lt;bits/stdc++.h&gt;

u...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest I I. Where Am I?]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104832794</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104832794</guid><author>palax0</author><pubDate>Fri, 13 Mar 2020 01:48:56 +0800</pubDate><description><![CDATA[I. Where Am I?
链接
题目描述
给出一个长度为n（1&lt;=n&lt;=100）的字符串，现从中连续的取出一个长度为k的子序列，问k要为多少才能保证取出来的子序列在原字符串中是独一无二的。
题目分析
因为n的数值范围很小，不妨直接取出各种子序列，与原字符串进行比较。
代码
#include &lt;bits/stdc++.h&gt;
 
using namespace std;
 ...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest III A. Wormhole Sort]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104829994</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104829994</guid><author>palax0</author><pubDate>Fri, 13 Mar 2020 00:59:41 +0800</pubDate><description><![CDATA[A. Wormhole Sort
cf链接
洛谷链接
题目描述
(还是看洛谷的中文题面吧)
题目分析
#参考了博客
（参考了博客后发现）原题可看作 位置不对的牛 想通过虫洞走到正确的位置，而且希望虫洞的宽度尽可能大（路的长度尽可能长），有kruskal内味了，而套用kruskal也就解决了。
貌似还有二分的做法，以后补上。。。
代码
#include &lt;bits/stdc++.h&gt;

...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest I B. MooBuzz]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104829692</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104829692</guid><author>palax0</author><pubDate>Thu, 12 Mar 2020 22:14:22 +0800</pubDate><description><![CDATA[B. MooBuzz
链接
题目描述
输出第n个既不是3的倍数又不是5的倍数的数。
题目分析
水题。。。我还以为要用数论知识啥的，后来才发现是找规律题，以 15为一个循环 分析即可。
代码
#include &lt;bits/stdc++.h&gt;
 
using namespace std;
 
int a[8]={-1,1,2,4,7,8,11,13};
 
int main()
{
	in...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest IV F. News Distribution]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104828642</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104828642</guid><author>palax0</author><pubDate>Thu, 12 Mar 2020 21:59:47 +0800</pubDate><description><![CDATA[F. News Distribution
链接
题目描述
有n个人，他们各加入了一些群。给出m条关于某个群有谁的信息。若一个人的群友加入了另一个群，这个人也算加入了另一个群。输出每个人加入的群数（给出信息之前默认每个人已经加入一个群）
题目分析
因为是人与人直接有传递性的关系，套用并查集模板即可。
代码
#include &lt;bits/stdc++.h&gt;

using namespace...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest III H. Photoshoot]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104828127</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104828127</guid><author>palax0</author><pubDate>Thu, 12 Mar 2020 21:20:53 +0800</pubDate><description><![CDATA[H. Photoshoot
链接
题目描述
有n头牛，他们的序号从为1-n，现在他们按一定顺序排好，给出每对相邻的两头牛的序号之和，求出牛现在的序号。
题目分析
因为确定其中一头牛的序号，就可以得出所有牛的序号，又因为不存在两头牛序号相同，因此试出第一头牛的序号即可。
代码
#include &lt;bits/stdc++.h&gt;

using namespace std;

int ans=...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest III E. Word Processor]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104827690</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104827690</guid><author>palax0</author><pubDate>Thu, 12 Mar 2020 21:08:15 +0800</pubDate><description><![CDATA[E. Word Processor
链接
题目描述
给出一个含n个单词的句子，要求输出这个句子，且每行字母数超过k个时换行，若输入某单词的过程中该行字母数超过k个，将该单词输到下一行。
题目分析
按照题目要求，在输入字符串的时候把句子分割成符合要求的几块，再输出即可。注意题目说There should be no space at the end of any line.
代码
#include ...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest Ⅱ B. Snakes]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104820470</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104820470</guid><author>palax0</author><pubDate>Thu, 12 Mar 2020 20:50:55 +0800</pubDate><description><![CDATA[B. Snakes
链接
题目描述
Bessie打算用网来捕n组蛇，且只能从第一组开始捕。一开始她可以设置网的容量，且她有k次修改容量的机会，求浪费的容量的最小值。
题目分析
#参考了博客
代码
#include &lt;bits/stdc++.h&gt;

using namespace std;

typedef long long ll;

const int INF=0x3F3F3F3F;...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest Ⅱ G. Bucket Brigade]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104819736</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104819736</guid><author>palax0</author><pubDate>Thu, 12 Mar 2020 15:32:08 +0800</pubDate><description><![CDATA[G. Bucket Brigade
链接
题目描述
给一个10*10的图，由’B’、‘R’、‘L’、’.‘构成，分别代指着火的谷仓、石头(无法经过)、湖、与路。现在让牛用肉身从谷仓(B)旁边搭桥到湖(L)旁边（上下左右方向的接触才算），每个牛占一个’.’，求最少需要几头牛。
题目分析
标准的bfs题，求最短距离，用队列进行bfs即可。
代码
#include &lt;bits/stdc++.h&g...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest Ⅱ A. Fence Planning]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104819106</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104819106</guid><author>palax0</author><pubDate>Thu, 12 Mar 2020 15:11:29 +0800</pubDate><description><![CDATA[A. Fence Planning
链接
题目描述
给出 n 头牛的二维坐标和 m对 牛之间的关系，而有关系的牛算作同一组。这个关系可以传递，如给出关系1-2、2-3，则1、2、3为一组。现在想用一个矩形围栏将其中一个组围住，求围栏周长的最小值。
题目分析
先用并查集处理牛的关系，得出各牛属于哪一组，再遍历每头牛的横纵坐标，找出每组横坐标与纵坐标的最大最小值，即可算出每组最少需要的围栏周长，最后比...]]></description><category></category></item><item><title><![CDATA[2019 GDUT 新生专题Ⅳ选集 E题 Revenge of GCD]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104755998</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104755998</guid><author>palax0</author><pubDate>Mon, 09 Mar 2020 17:12:16 +0800</pubDate><description><![CDATA[E - Revenge of GCD
链接
题目描述
给你两个数x和y，求它们的第k大公约数。
题目分析
由算术基本定理知
x=(a1x1)(a2x2)…(anxn)
y=(a1y1)(a2y2)…(anyn)
gcd(x,y)=(a1min(x1,y1))(a2min(x2,y2) )…(anmin(xn,yn))
x和y的第k大公约数离不开gcd(x,y)的因子，因此，题目可转化为求gcd(x...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest Ⅱ H. I Would Walk 500 Miles]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104477066</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104477066</guid><author>palax0</author><pubDate>Mon, 24 Feb 2020 17:07:07 +0800</pubDate><description><![CDATA[H. I Would Walk 500 Miles
链接
题目描述
某农场主想将他的N头牛分成K个非空的组，使得距离M尽可能大。距离M指的是 不同组别的两头牛的距离 的最小值，两头牛x,y的距离计算方法是
(2019201913x+2019201949y) mod 2019201997 (x&lt;y)
题目分析
观察发现模数和x、y前的系数很接近，
而原式又可以写成：
(2019201913x ...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest Ⅱ F.Milk Factory]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104461165</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104461165</guid><author>palax0</author><pubDate>Sun, 23 Feb 2020 15:53:23 +0800</pubDate><description><![CDATA[F. Milk Factory
链接
题目描述
有n个站台和n-1条只能单向通行的路，问是否存在一个站台，满足所有路都能到达这个站台，没有则输出-1。
题目分析
题意很简单，直接用二维数组表示两处单向连通，再搜索每个站，看看是不是其他站都能到这个站。不过可能会漏掉类似3-&gt;2-&gt;1这种两点之间有多段路的情况（可能只有我漏了。。），所以还得把这种多段的路搭起来。
代码
#include ...]]></description><category></category></item><item><title><![CDATA[2020 GDUT Rating Contest Ⅰ G.Livestock Lineup]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104401446</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104401446</guid><author>palax0</author><pubDate>Wed, 19 Feb 2020 22:06:55 +0800</pubDate><description><![CDATA[G.Livestock Lineup
链接
题目描述
有八头有名字的牛，要求在满足限制条件的同时尽可能按照字典序从小到大输出他们的名字，限制条件的格式类似“ a牛 要在 b牛 旁边”这样。
题目分析
参考dl的代码后发现，有一个神奇的函数next_permutation()，可以让原序列变成离原序列最近而字典序又大于原序列的序列(语文能力有限见谅，想了解可看看大佬的博客)。
这题只有8头牛，最多也...]]></description><category></category></item><item><title><![CDATA[2020牛客寒假算法基础集训营3 H题 牛牛的k合因子数]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104256021</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104256021</guid><author>palax0</author><pubDate>Tue, 11 Feb 2020 11:49:33 +0800</pubDate><description><![CDATA[H - 牛牛的k合因子数
链接
题目描述
（题目已经很简单就不再描述了）
合数是指自然数中除了能被1和本身整除外，还能被其他数（0除外）整除的数。
牛牛最近在研究“k合因子数”，所谓“k合数”是指一个数的所有因子中，是合数的因子共有k个。
例如20的因子有1,2,4,5,10,20，其中4,10,20为合数，它有3个合数因子，就称20是一个 “3合因子数”
牛牛想要知道1~n中给定k的情况下k合因...]]></description><category></category></item><item><title><![CDATA[Array Sharpening (Codeforces Round #616 Div.2 B)]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104166547</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104166547</guid><author>palax0</author><pubDate>Tue, 04 Feb 2020 22:21:44 +0800</pubDate><description><![CDATA[B. Array Sharpening
链接
题目描述
给你一个数列，问能否使这个数列变成先单调递增再单调递减的数列（单调递增或单调递减的项数可以为0项）。你可以使用的操作为：让数列中的任意一项减去n，但要保证减完后仍大于等于0。
题目分析
假设单调递增与单调递减的分界点为第i项，共n项。
若将 i 以前的每一项都化到最小，第一项最小为0，第二项最小为1，以此类推知道第 i 项最小为 i-1 ，因...]]></description><category></category></item><item><title><![CDATA[2019 GDUT 新生专题Ⅲ选集 J题 畅通工程续]]></title><link>https://blog.youkuaiyun.com/palax0/article/details/104016722</link><guid>https://blog.youkuaiyun.com/palax0/article/details/104016722</guid><author>palax0</author><pubDate>Fri, 17 Jan 2020 11:38:39 +0800</pubDate><description><![CDATA[J - 畅通工程续
链接
题目描述
给出若干个城镇与若干条城镇间的道路，求从指定城镇A到指定城镇B的最短路。
题目分析
由题意可知，这是一道多源最短路问题，套用Floyd算法即可。
值得注意的是，题目没有说两个城镇之间只建一条路，因此输入时要注意。
代码
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
#include &lt;iostream&g...]]></description><category></category></item></channel></rss>