<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wzf_2000的博客]]></title><description><![CDATA[博客已搬迁，请查看置顶博客]]></description><link>https://blog.youkuaiyun.com/wzf_2000</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wzf_2000]]></copyright><item><title><![CDATA[教程5]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/101983768</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/101983768</guid><author>wzf_2000</author><pubDate>Thu, 03 Oct 2019 11:57:02 +0800</pubDate><description><![CDATA[判断语句if 语句基本格式
```cpp
if (condition) statement(s);//单个语句
```
或者
if (condition) statement(s);//单个语句
else statement(s);//单个语句

或者
if (condition)
{
    statement(s);
}
else
{
    statement(s);
}

（当然其中只有一...]]></description><category></category></item><item><title><![CDATA[博客搬迁]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78896236</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78896236</guid><author>wzf_2000</author><pubDate>Mon, 25 Dec 2017 19:57:49 +0800</pubDate><description><![CDATA[github新地址：github 
codingme新地址：codingme]]></description><category></category></item><item><title><![CDATA[【Codeforces301E】Yaroslav and Arrangements]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78856259</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78856259</guid><author>wzf_2000</author><pubDate>Wed, 20 Dec 2017 18:32:03 +0800</pubDate><description><![CDATA[题意：
给出n,m,kn,m,k，询问有多少个长度为nn的数组bb满足以下要求： 
b[i]≤b[i+1](1≤i<n)b[i] \leq b[i+1](1 \leq i < n)
1≤b[1]≤b[n]≤m1 \leq b[1] \leq b[n] \leq m
将bb数组排列后有大于等于一种小于等于kk种排列aa满足以下要求： 
|a[i]−a[i+1]|=1(1≤i<n)|a[i]-a[i+1]]></description><category></category></item><item><title><![CDATA[【Codeforces332E】Binary Key]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78849061</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78849061</guid><author>wzf_2000</author><pubDate>Wed, 20 Dec 2017 08:05:16 +0800</pubDate><description><![CDATA[题意：
给出两个字符串p和s和一个正整数k，要求构造长度为k的01串，满足以下要求： 
将其不断复制到长度大于等于|p|。
对应p跑这个串，如果当前位置为1，则将p当前对应的字符加入一个串q的结尾。（开始为空串）
最后得到的串q与s相等。
输出满足要求的字典序最小的01串。
|p| \leq 10^6,|s| \leq 200,k \leq 2000
题解：
按照模k的值分类，尽量让字典序小，通过哈]]></description><category></category></item><item><title><![CDATA[【Codeforces232E】Quick Tortoise]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78846141</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78846141</guid><author>wzf_2000</author><pubDate>Tue, 19 Dec 2017 19:16:28 +0800</pubDate><description><![CDATA[题意：
给你一张n×mn \times m的网格图，每次可以向下或者向右，qq次询问两点从一点是否可到另一点。
n,m≤500,q≤6×105n,m \leq 500,q \leq 6 \times 10^5
题解：
这道题非常像某次cc的最后一道正常题的弱化版（可能更无聊）。
首先我们可以预处理分治的过程。
每次找到这两个点之间必须经过的中轴线。
每层分治处理一个点可以到达的他所在层的中轴线上的哪]]></description><category></category></item><item><title><![CDATA[【Codeforces238E】Meeting Her]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78846020</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78846020</guid><author>wzf_2000</author><pubDate>Tue, 19 Dec 2017 18:59:24 +0800</pubDate><description><![CDATA[题意：
有一张nn个点，mm条边的有向图，有kk种巴士，每种巴士有一个起点sis_i和终点tit_i，每一个时刻，巴士都会等概率选择一条两点间的最短路径。
询问一次从aa到bb最坏情况下最少需要乘坐几种巴士。
n≤100,m≤n×(n−1),k≤100n \leq 100,m \leq n \times (n-1),k \leq 100
题解：
首先我们需要知道每个巴士的路径上的必经点。
然后我们可]]></description><category></category></item><item><title><![CDATA[【Codeforces559E】Gerald and Path]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78845788</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78845788</guid><author>wzf_2000</author><pubDate>Tue, 19 Dec 2017 18:24:44 +0800</pubDate><description><![CDATA[题意：
一条路上有nn盏不同的灯，每盏灯所在位置为pip_i，向左或者向右可以照射的距离为lil_i，求最大总照射长度。
n≤100,li,pi≤108n \leq 100,l_i,p_i \leq 10^8。
题解：
这道题dp思路似乎都很神奇？
设dp[i][j][k]dp[i][j][k]表示到第ii盏灯（按位置从左到右），最左边的需要覆盖到的位置是jj（0代表不存在未覆盖），最右端位置是kk]]></description><category></category></item><item><title><![CDATA[【Codeforces776G】Sherlock and the Encrypted Data]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78843742</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78843742</guid><author>wzf_2000</author><pubDate>Tue, 19 Dec 2017 16:00:38 +0800</pubDate><description><![CDATA[题意：
设xx的16进制表示为xn−1⋯x1x0x_{n-1} \cdots x_1x_0，那么设h(x)=2xn−1|2xn−2|⋯2x1|2x0h(x)=2^{x_{n-1}}|2^{x_{n-2}}| \cdots 2^{x_1}|2^{x_0}，求区间[l,r][l,r]中满足x xor h(x)<xx\  xor\ h(x)< x的数的个数。
题解：
显然只跟最后几位有关，就是一个16进制]]></description><category></category></item><item><title><![CDATA[【Codeforces536D】Tavas in Kansas]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78843190</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78843190</guid><author>wzf_2000</author><pubDate>Tue, 19 Dec 2017 15:28:08 +0800</pubDate><description><![CDATA[题意：
给你一张nn个点mm条边的无向图，每个点有一个点权pip_i（存在负数）
有两个人在进行游戏，他们分别在ss、tt号点。
两个人轮流操作，每次操作选出一个非负整数xx，表示将到他们所在点最短距离小于等于xx的点的点权拿走。（拿走后点权消失，且每次拿走的有点权的点的个数至少为1）
询问最后胜负情况（谁的总点权和较大）。
n≤2000,n−1≤m≤100000n \leq 2000,n-1 \l]]></description><category></category></item><item><title><![CDATA[【Codeforces856C】Eleventh Birthday]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78842889</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78842889</guid><author>wzf_2000</author><pubDate>Tue, 19 Dec 2017 15:08:21 +0800</pubDate><description><![CDATA[题意：
给你nn个数，询问将其按照一定顺序排列后得到的数能被11整除的排列有几种。
多组询问。t≤100,n≤2000t \leq 100,n \leq 2000。
题解：
首先我们发现10≡−1(mod11)10 \equiv -1(mod 11)，所以可以将nn个数根据长度的奇偶性分为两类。
显然长度为偶数的不会影响长度为奇数的贡献。
而长度为奇数的从偶数位开始的数的个数必为⌊n2⌋\lfloo]]></description><category></category></item><item><title><![CDATA[【Codeforces314E】Sereja and Squares]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78842614</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78842614</guid><author>wzf_2000</author><pubDate>Tue, 19 Dec 2017 14:50:02 +0800</pubDate><description><![CDATA[题意：
给你一个仅含小写字母和‘?’的字符串，你需要将问号处填上小写或者大写字母，统计满足下列要求的方案数：（对109+710^9+7取模）
每个小写字母都有向后匹配的对应大写字母，并且没有剩余的大写字母。
每两对对应的小大写字母构成的区间[l1,r1],[l2,r2][l_1,r_1],[l_2,r_2]满足l1<r1<l2<r2l_1<r_1<l_2<r_2或者l1<l2<r2<r1l_1<l_]]></description><category></category></item><item><title><![CDATA[【Codeforces436D】Pudding Monsters]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78842264</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78842264</guid><author>wzf_2000</author><pubDate>Tue, 19 Dec 2017 14:27:32 +0800</pubDate><description><![CDATA[题意：
开始有无限长的一段格子，有nn个格子种有布丁怪兽，一开始连续的布丁怪兽算一个布丁怪兽。
每回合你可以将一个布丁怪兽向左或右移动，他会在碰到第一个布丁怪兽时停下，并与其合并。
如果最左边的怪兽向左，你可以认为是将其移动到了无穷远处。
有mm个特殊格子，询问最终你最多可以让几个特殊的格子上被布丁覆盖。
n≤10000,m≤2000n \leq 10000,m \leq 2000。
题解：
首先考]]></description><category></category></item><item><title><![CDATA[【Codeforces183D】T-shirt]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78841743</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78841743</guid><author>wzf_2000</author><pubDate>Tue, 19 Dec 2017 13:43:25 +0800</pubDate><description><![CDATA[题意：
有nn个人和mm种T-shirt，每个人都有一种喜欢的T-shirt，然而你只知道他们每个人喜欢某种的概率。
你需要在开始时选定nn件T-shirt的种类，人们会按照编号从11~nn挑选T-shirt，如果剩下还有他喜欢的，则会选走，否则不变。
请输出最大的期望送出的T-shirt件数。
n≤3000,m≤300n \leq 3000,m \leq 300
题解：
首先我们可以发现每种T-s]]></description><category></category></item><item><title><![CDATA[noip2017游记]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78542127</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78542127</guid><author>wzf_2000</author><pubDate>Wed, 15 Nov 2017 16:20:51 +0800</pubDate><description><![CDATA[noip2017游记]]></description><category></category></item><item><title><![CDATA[codechef November Challenge 2017解题报告]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78535086</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78535086</guid><author>wzf_2000</author><pubDate>Tue, 14 Nov 2017 21:03:35 +0800</pubDate><description><![CDATA[第二次被ceilks艹翻的无奈啊。。Villages and Tribes模拟不解释#include <bits/stdc++.h>
#define gc getchar()
#define ll long long
#define N 100009
using namespace std;
char a[N];
int main()
{
    ios::sync_with_stdio(false]]></description><category></category></item><item><title><![CDATA[【Codeforces875E】Delivery Club]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78353789</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78353789</guid><author>wzf_2000</author><pubDate>Thu, 26 Oct 2017 14:50:32 +0800</pubDate><description><![CDATA[首先二分答案，然后从后往前跑目的地维护可存在的区间。区间不存在或者开始点不在最终区间就不行，否则可以。#include <bits/stdc++.h>
#define gc getchar()
#define ll long long
#define N 100009
#define mid (l+r>>1)
using namespace std;
int n,s,t,a[N];
int read]]></description><category></category></item><item><title><![CDATA[【Codeforces418D】Big Problems for Organizers]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78353749</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78353749</guid><author>wzf_2000</author><pubDate>Thu, 26 Oct 2017 14:47:38 +0800</pubDate><description><![CDATA[先求出树的直径。 
预处理出直径，用rmqrmq维护处直径上某一个区间点的子树内到直径两端点距离的最大值。 
询问时，先找到x,yx,y两点所在的根，然后答案只能是一下两种： 
1、直径两端点的答案 
2、xx所在树到路径中点所在直径上的点的树中距xx的最大距离或者另一半的同样情况。#include <bits/stdc++.h>
#define gc getchar()
#define ll lo]]></description><category></category></item><item><title><![CDATA[【Codeforces717F】Heroes of Making Magic III]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78353611</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78353611</guid><author>wzf_2000</author><pubDate>Thu, 26 Oct 2017 14:39:43 +0800</pubDate><description><![CDATA[以下根据网上大佬们的博客。 
消除完一个区间肯定有一大堆方法，不妨考虑其中一种： 
先前两个之间反复横跳，消除光第一个，然后再消除第二个，直到消除完。 
然后我们可以根据这个列出不等式和方程： 
al≥1al+1−al≥0al+2−al+1+al≥1⋯ar−ar−1+⋯≥[(r−l+1)≡1(mod2)]ar−ar−1+⋯=(r−l+1)mod2a_l\ge1\\a_{l+1}-a_l\ge0\\a]]></description><category></category></item><item><title><![CDATA[【Codeforces813F】Bipartite Checking]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78353390</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78353390</guid><author>wzf_2000</author><pubDate>Thu, 26 Oct 2017 14:23:38 +0800</pubDate><description><![CDATA[cdq分治维护并查集。 
并查集时，只要按秩合并，不要路径压缩，方便还原。 
（好吧，还不是看po姐博客的）#include <bits/stdc++.h>
#define gc getchar()
#define ll long long
#define mid (l+r>>1)
#define N 400009
using namespace std;
int n,m,sta[N],top;
s]]></description><category></category></item><item><title><![CDATA[【Codeforces696E】...Wait for it...]]></title><link>https://blog.youkuaiyun.com/wzf_2000/article/details/78353279</link><guid>https://blog.youkuaiyun.com/wzf_2000/article/details/78353279</guid><author>wzf_2000</author><pubDate>Thu, 26 Oct 2017 14:16:28 +0800</pubDate><description><![CDATA[一个一个删，树剖线段树上维护即可。#include <bits/stdc++.h>
#define gc getchar()
#define ll long long
#define mid (l+r>>1)
#define inf (ll)2e18
#define N 100009
#define root 1,1,n
#define lc cur<<1
#define rc lc|1
#defi]]></description><category></category></item></channel></rss>