<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CPP2021的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CPP2021</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CPP2021]]></copyright><item><title><![CDATA[广西师范大学计算机学院第九次周赛题解]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/124358688</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/124358688</guid><author>CPP2021</author><pubDate>Sat, 23 Apr 2022 21:01:48 +0800</pubDate><description><![CDATA[广西师范大学第九次周赛题解]]></description><category></category></item><item><title><![CDATA[Educational Codeforces Round 126 (Rated for Div. 2)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/124073769</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/124073769</guid><author>CPP2021</author><pubDate>Sun, 10 Apr 2022 20:32:33 +0800</pubDate><description><![CDATA[Educational Codeforces Round 126 (Rated for Div. 2) (A~C)]]></description><category></category></item><item><title><![CDATA[Moamen and XOR]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/124008047</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/124008047</guid><author>CPP2021</author><pubDate>Thu, 07 Apr 2022 11:34:14 +0800</pubDate><description><![CDATA[C. Moamen and XOR

莫阿门和伊扎特在玩游戏。他们创建了一个由n个非负整数组成的数组a其中每个元素都小于2k。
当a1&amp;a2&amp;a3&amp;…&amp;an≥a1⊕a2⊕a3⊕…其中&amp;为按位与运算，⊕为按位异或运算。
请计算出Moamen数组a的中奖数量。
由于结果可能非常大，因此输出对1000000007取模的值(109+7)。

分析: 首先肯定要对 nnn 分奇偶,奇数个数字异或起来和偶数个数字异或起来情况肯定是不一样的,
当 nnn 为奇数
设 a1&amp;]]></description><category></category></item><item><title><![CDATA[Codeforces训练]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123966742</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123966742</guid><author>CPP2021</author><pubDate>Wed, 06 Apr 2022 10:34:56 +0800</pubDate><description><![CDATA[Codeforces 个人训练]]></description><category></category></item><item><title><![CDATA[GXNU集训队第三次训练题解]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123931224</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123931224</guid><author>CPP2021</author><pubDate>Sun, 03 Apr 2022 11:10:32 +0800</pubDate><description><![CDATA[GXNU集训队第三次训练题解]]></description><category></category></item><item><title><![CDATA[Codeforces Round #780 (Div. 3)(A~F1)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123888428</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123888428</guid><author>CPP2021</author><pubDate>Fri, 01 Apr 2022 08:26:17 +0800</pubDate><description><![CDATA[Codeforces Round #780 (Div. 3)(A~F1)]]></description><category></category></item><item><title><![CDATA[Codeforces Round #756 (Div. 3)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123812645</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123812645</guid><author>CPP2021</author><pubDate>Tue, 29 Mar 2022 10:43:07 +0800</pubDate><description><![CDATA[Codeforces Round #756 (Div. 3)(A~D)]]></description><category></category></item><item><title><![CDATA[Codeforces Round #746 (Div. 2)(A~C)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123798760</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123798760</guid><author>CPP2021</author><pubDate>Mon, 28 Mar 2022 16:57:26 +0800</pubDate><description><![CDATA[Codeforces Round #746 (Div. 2)]]></description><category></category></item><item><title><![CDATA[Codeforces Round #747 (Div. 2)(A-C)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123791655</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123791655</guid><author>CPP2021</author><pubDate>Mon, 28 Mar 2022 12:58:55 +0800</pubDate><description><![CDATA[最近越来越菜了 A,B题都写这么慢, 我是fw
A. Consecutive Sum Riddle
题意: 从 lll 起到 rrr 止的等差数列的和为 nnn, 请求出 lll和 rrr
分析: 由等差数列求和公式 (l+r)(r−l+1)/2=n(l + r) ( r - l + 1) / 2  = n(l+r)(r−l+1)/2=n
可以令 l+r==1l + r == 1l+r==1
然后  l=r−1l = r - 1l=r−1, 代入得, l=1−n,r=nl = 1 - n, r = nl=1]]></description><category></category></item><item><title><![CDATA[二分图总结]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123786218</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123786218</guid><author>CPP2021</author><pubDate>Mon, 28 Mar 2022 09:07:05 +0800</pubDate><description><![CDATA[二分图是什么?
二分图 是指将所有点分成两个集合, 使得所有边只出现在集合之间, 那就是二分图
二分图的性质:

二分图一定能进行无矛盾的染色
二分图一定不含有奇数环
二分图不一定是连通图

二分图的判定问题, 一般常用的方法是染色法判定二分图, 相邻的两个点用不同的颜色染色, 只要某个点染色不成功就说明整个图不是二分图, 染色不成功等价于相邻的点染了相同的颜色
#include&lt;bits/stdc++.h&gt;

using namespace std;

const int N = 3e5 + ]]></description><category></category></item><item><title><![CDATA[Codefroces Round #779(div2)A~C]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123785913</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123785913</guid><author>CPP2021</author><pubDate>Mon, 28 Mar 2022 08:31:43 +0800</pubDate><description><![CDATA[A. Marin and Photoshoot
题意: 看样例就可以发现就是要在 000 后面插两个 111
#include&lt;bits/stdc++.h&gt;
#define x first
#define y seoncd
#define int long long 
#define gg exit(0);
#define sf1(x) scanf("%lld",&amp;x)
#define sf2(x,y) scanf("%lld%lld",&amp;x,&amp;y)
#define pr]]></description><category></category></item><item><title><![CDATA[有向图的强连通分量与无向图的双连通分量总结]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123751939</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123751939</guid><author>CPP2021</author><pubDate>Sun, 27 Mar 2022 10:47:59 +0800</pubDate><description><![CDATA[tarjan]]></description><category></category></item><item><title><![CDATA[CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123726534</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123726534</guid><author>CPP2021</author><pubDate>Fri, 25 Mar 2022 09:23:39 +0800</pubDate><description><![CDATA[CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes!) (A-C)]]></description><category></category></item><item><title><![CDATA[Educational Codeforces Round 124 (Rated for Div. 2)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123694516</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123694516</guid><author>CPP2021</author><pubDate>Wed, 23 Mar 2022 20:28:25 +0800</pubDate><description><![CDATA[日常倒序
C.Fault-tolerant Network 
题意分析: 有两排电脑, 每一排的电脑是左右互连的,现在要求你将上下两排的电脑连接起来,  形成容错网络: 即网络保持连接，尽管其中一台计算机出现故障。换句话说，如果一台计算机坏了（不管是哪台），网络就不会分裂成两个或多个部分。连接两台计算机的费用是 ∣ai−bj∣|a_i - b_j|∣ai​−bj​∣
首先形成容错网络, 连四条边 是肯定可以的, 但不一定是最优的, 也可以连两条边, 也可以连三条边

#include&lt;bits/std]]></description><category></category></item><item><title><![CDATA[Educational Codeforces Round 125 (Rated for Div. 2)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123677565</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123677565</guid><author>CPP2021</author><pubDate>Wed, 23 Mar 2022 11:25:04 +0800</pubDate><description><![CDATA[Educational Codeforces Round 125 (Rated for Div. 2)(A~E)]]></description><category></category></item><item><title><![CDATA[图论学习总结(一万字+)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123512478</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123512478</guid><author>CPP2021</author><pubDate>Tue, 22 Mar 2022 16:07:51 +0800</pubDate><description><![CDATA[有趣的图论]]></description><category></category></item><item><title><![CDATA[Codeforces Round # 778(div1 + div2)]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123642975</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123642975</guid><author>CPP2021</author><pubDate>Mon, 21 Mar 2022 19:52:27 +0800</pubDate><description><![CDATA[倒序开吧, 你们最想看的应该是D题的题解, 我干了两个小时才搞懂
D.Potion Brewing Class
题意分析: 给定 nnn 种原料, n−1n - 1n−1 个约束条件, 每种原料的比值必须要满足约束关系, 然后求原料含量最小的总和
首先不妨将题意转化一下, n,n−1n, n - 1n,n−1, 不难想到是树, 知道是树后, 可以将 nnn 种原料看作 nnn 个点,  n−1n - 1n−1 个约束条件可以看作 n−1n - 1n−1 条边, 然后每两个点之间,要满足点权比等于边权, 我们]]></description><category></category></item><item><title><![CDATA[闇の連鎖问题]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123624743</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123624743</guid><author>CPP2021</author><pubDate>Mon, 21 Mar 2022 08:56:13 +0800</pubDate><description><![CDATA[分析可知, 这里就是要砍两条边, 第一次看主要边, 第二次砍附加边, 主要边就是树边, 附加边就是非树边,  假设非树边连接为 点x,yx,yx,y,当删除一条 x,yx,yx,y 之间的树边后, 非树边就成为了树边, 如果当 x,yx,yx,y 之间的数量为 sss, 当 s=0s = 0s=0 时,  删去任意一条非树边即可, 当 s=1s = 1s=1 时, 必须要砍去x,y之间的非树边,当 s&gt;1s &gt; 1s&gt;1,无解
然后这里边的覆盖需要利用到区间的加减, 即差分,

...]]></description><category></category></item><item><title><![CDATA[分巧克力问题]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123614961</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123614961</guid><author>CPP2021</author><pubDate>Sun, 20 Mar 2022 16:07:17 +0800</pubDate><description><![CDATA[对于二分问题首先确定二分什么, 不难发现,这题是对巧克力的边长二分,
//对于分巧克力问题  我们可以对巧克力最大边长进行二分   然后判断是否每个人都能分到巧克力  
#include&lt;bits/stdc++.h&gt;
using namespace std;
const int  N=1e5+10;
int h[N], w[N];
int n, k, hmax, wmax, Max;
bool check(int x)
{
	int num=0; 
 
	for(int i=0;i&lt;n;i]]></description><category></category></item><item><title><![CDATA[最佳牛栅栏]]></title><link>https://blog.youkuaiyun.com/CPP2021/article/details/123614462</link><guid>https://blog.youkuaiyun.com/CPP2021/article/details/123614462</guid><author>CPP2021</author><pubDate>Sun, 20 Mar 2022 15:57:39 +0800</pubDate><description><![CDATA[① 可能的最大值，抓住关键词，考虑是否可以用二分，假设存在某一个平均值满足题目条件，那么小于该值的平均值一定能满足题目条件，而大于该值的平均值不一定能满足题目条件，于是可得 可以用二分
② 为了快速判断某一区间的值是否大于我们二分的平均值，我们可以让每个数减去平均值，这样再将它们全部加起来就可以判断当前某一区间的平均值是否大于二分的平均值。
二分：首先我们的 mid=(l+r)/2mid=(l+r)/2mid=(l+r)/2，记住这里不要是 &gt;&gt;1&gt;&gt;1&gt;&gt;1，因为这是浮]]></description><category></category></item></channel></rss>