<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[canghai_wangzi的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/canghai_wangzi</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; canghai_wangzi]]></copyright><item><title><![CDATA[HDU - 6166 SPFA最短路次短路 or 二进制+Dijstra]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/77506887</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/77506887</guid><author>canghai_wangzi</author><pubDate>Wed, 23 Aug 2017 15:52:33 +0800</pubDate><description><![CDATA[题目传送门：http://acm.hdu.edu.cn/showproblem.php?pid=6166
题意：给一个有向图，给一个集合，从集合内任选两个点的最短路最短为多少。
分析：两种解法，一种是题解中给的，感觉非常巧妙，把集合分为两个集合，改成多源多汇最短路，如何保证任意一对点都分在过不同的集合呢，就是使用二进制，对于每一二进制位，二进制表示下不同的就分在不同的集合，因为对于每一对数，至]]></description><category></category></item><item><title><![CDATA[HDU - 4567 Brilliant Programmers Show 2013长沙邀请赛]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/72810456</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/72810456</guid><author>canghai_wangzi</author><pubDate>Tue, 30 May 2017 16:49:24 +0800</pubDate><description><![CDATA[题目传送门：http://acm.hdu.edu.cn/showproblem.php?pid=4567


写在前面：这道题题目数据有问题，第40组以后的数据没有任何输出，也不知道是哪位大神发现的，反正就是这样...


题意：有一队人，相邻的两个人中排名靠后的可以向排名靠前的挑战，如果挑战成功，他们排名互换，现在已知初始各排名的人发起挑战的次数，问你是否合理，如果合理能否确定冠军]]></description><category></category></item><item><title><![CDATA[HDU - 4570 Multi-bit Trie 2013长沙邀请赛]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/72810430</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/72810430</guid><author>canghai_wangzi</author><pubDate>Tue, 30 May 2017 16:32:44 +0800</pubDate><description><![CDATA[题目传送门：http://acm.hdu.edu.cn/showproblem.php?pid=4570


题意：题目花了一个乱糟糟的图，然后给了一对乱糟糟的文字，然后抽象出数学模型就是这样的，给你一串数，你可以把它分割成无数段，每一段的权值为该段的第一个数乘上2^该段的长度，问你所有段的权值和最小为多少。


分析：这道题难就难在题意分析上了，题意看明白了，DP随便搞搞就能过了，特]]></description><category></category></item><item><title><![CDATA[HDU - 4568 Hunter 2013长沙邀请赛]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/72810381</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/72810381</guid><author>canghai_wangzi</author><pubDate>Tue, 30 May 2017 16:28:35 +0800</pubDate><description><![CDATA[题目传送门：http://acm.hdu.edu.cn/showproblem.php?pid=4568


题意：给你一个四联通的长方形，每一个格子中都有一个值，你走到这个格子要耗费这些体力，-1代表无法通过，其中有一些格子里面有宝藏，一个人可以从边界的任意一个点进入，边界的任意一个点出去，问如果他得到了所有的宝藏，耗费的体力最少是多少。


分析：总共有40000个格子，对这400]]></description><category></category></item><item><title><![CDATA[HDU - 4571 Travel in time 2013长沙邀请赛]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/72810298</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/72810298</guid><author>canghai_wangzi</author><pubDate>Tue, 30 May 2017 16:19:08 +0800</pubDate><description><![CDATA[题目传送门：http://acm.hdu.edu.cn/showproblem.php?pid=4571
题意：有n个景点，m条双向路，给出参观每个景点所需时间和获得的价值，给出走过每条路所需时间，给出起点和终点，你可以路过某个景点而不参观，但是你当前参观的景点必须要比之前参观过的景点价值要大，给出起点终点和规定的时间，问你能否在规定的时间内由起点走到终点，可以的话获得的最大价值是多少。
分析]]></description><category></category></item><item><title><![CDATA[Codeforces Gym 100623I Problem I. Important Wires]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68942444</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68942444</guid><author>canghai_wangzi</author><pubDate>Sat, 01 Apr 2017 11:16:37 +0800</pubDate><description><![CDATA[题目传送门：http://codeforces.com/gym/100623/attachments


题解：这道题...说了一大堆没用的....如果你看了题不会做再看代码...你会大喊我去....


Code:
#include 
#include 
#include 

using namespace std;

int main()
{
    freopen("impor]]></description><category></category></item><item><title><![CDATA[Codeforces Gym 100623J Problem J. Just Too Lucky 数位DP]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68941675</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68941675</guid><author>canghai_wangzi</author><pubDate>Sat, 01 Apr 2017 10:21:01 +0800</pubDate><description><![CDATA[题目传送门：http://codeforces.com/gym/100623/attachments


题解：数位DP经典题目，先暴力一遍，把可能出现的各位数字和都跑一遍，然后就是经典数位DP了，记忆化搜索写完的，详见代码


Code:
#include 
#include 
#include 

using namespace std;

long long n,dp[15][]]></description><category></category></item><item><title><![CDATA[Codeforces Gym 100623F Problem F. Fenwick Tree]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68924338</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68924338</guid><author>canghai_wangzi</author><pubDate>Fri, 31 Mar 2017 13:55:52 +0800</pubDate><description><![CDATA[题目传送门：http://codeforces.com/gym/100623/attachments


题解：一个找规律的题，b[2]=a[2]要求a[1]=0,b[4]=a[4]要求a[2]+a[3]=0,b[6]=a[6]要求a[5]=0,b[8]=a[8]要求a[4]+a[6]+a[7]=0,到这里就可以看出来规律了，一个偶数可以对2^n取余为0，则要求他前面的n个数和为0，这个n个]]></description><category></category></item><item><title><![CDATA[Codeforces Gym 100623B Problem B. Billboard]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922744</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922744</guid><author>canghai_wangzi</author><pubDate>Fri, 31 Mar 2017 10:56:54 +0800</pubDate><description><![CDATA[题目传送门：http://codeforces.com/gym/100623/attachments


题解：这道题吧，队友做的，听他说是线段树基础题...


Code：
#include 
using namespace std;
#define ls l,mid,rt*2
#define rs mid+1,r,rt*2+1
#define mi (l+r)>>1
const]]></description><category></category></item><item><title><![CDATA[Codeforces Gym 100623K Problem K. Key to Success]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922687</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922687</guid><author>canghai_wangzi</author><pubDate>Fri, 31 Mar 2017 10:53:30 +0800</pubDate><description><![CDATA[题目传送门：http://codeforces.com/gym/100623/attachments


题解：这道题，就相当于给你n个硬币，问你能组成多少钱，我们就从头开始计数，首先必须要有一个1，然后我们就从头开始加，如果sum小于下一个数-1，那么这中间的数就拼不出来了，我们就要放一个sum+1上去，这样一直跑下去，放完为止，看代码吧，很简单


Code:
#include]]></description><category></category></item><item><title><![CDATA[Codeforces Gym 100623H Problem H. Holes]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922657</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922657</guid><author>canghai_wangzi</author><pubDate>Fri, 31 Mar 2017 10:50:13 +0800</pubDate><description><![CDATA[题目传送门：http://codeforces.com/gym/100623/attachments


题解：额...这道题不能再简单了...输入1输出0，输入0输出1，输入其他的奇数先来个4，然后/2，输出那么多个8


Code:
#include 
#include 

using namespace std;

int main()
{
    freopen("holes]]></description><category></category></item><item><title><![CDATA[Codeforces Gym 100623E Problem E. Enchanted Mirror]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922613</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922613</guid><author>canghai_wangzi</author><pubDate>Fri, 31 Mar 2017 10:47:59 +0800</pubDate><description><![CDATA[题目传送门：http://codeforces.com/gym/100623/attachments


题解：一道暴力的题...先把第一个字符串换成正确的字符串，如果换不了就直接输出No，刚开始没注意到这里，错了第6组，换的时候第二个字符串也对应交换，然后一个字符串里重复的字母可以互换位置，对应第二个字符串里的位置也可以互换，看一下能不能换成第二个目标字符串


Code:
#in]]></description><category></category></item><item><title><![CDATA[Codeforces Gym 100623D Problem D. Deposits]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922575</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922575</guid><author>canghai_wangzi</author><pubDate>Fri, 31 Mar 2017 10:44:42 +0800</pubDate><description><![CDATA[题目传送门：http://codeforces.com/gym/100623/attachments


题解：暴力解决...先把第一组的数数量存起来，然后第二组数开始遍历10^6之内他的整数倍的数，然后把数量加起来，用了个小技巧，就是第二组数里如果找过了直接加，算了一下，总共最多跑10^7次，不会超时


Code:
#include 
#include 
#include 
#i]]></description><category></category></item><item><title><![CDATA[Codeforces Gym 100623C Problem C. Class]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922380</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/68922380</guid><author>canghai_wangzi</author><pubDate>Fri, 31 Mar 2017 10:30:10 +0800</pubDate><description><![CDATA[题目传送门：http://codeforces.com/gym/100623/attachments


思路：一道比较简单的思维题吧，要求任一横行学生和任一纵列学生的最小值最大，如果学生人数大于行数和列数最小值*2-1，就输出行数和列数最小值，否则输出（人数+1）/2，很好理解，剩下的学生随便排就行


Code：
#include 
#include 

using namesp]]></description><category></category></item><item><title><![CDATA[HDU 3448 Bag Problem 暴力枚举，DFS(maybe)]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/53095549</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/53095549</guid><author>canghai_wangzi</author><pubDate>Wed, 09 Nov 2016 08:30:16 +0800</pubDate><description><![CDATA[来找博客的估计应该都看过题，所以以后的博客在这里都不贴题了，直接放一个传送门，想看题的点击去看这里是传送门


这道题是我们背包的一道训练题，这道题我用了两种解法来解


第一种解法是我刚开始想的暴力枚举，代码很易懂，先把0存起来，然后把第一个数和存过的数每个相加，都存起来，然后在把第二个数和之前的数依次相加，不过这样的话要存的数可能有2^40这么多，很显然存不下，所以我们可以用一些方]]></description><category></category></item><item><title><![CDATA[UVA 10635 Prince and Princess 递推]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972736</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972736</guid><author>canghai_wangzi</author><pubDate>Sun, 30 Oct 2016 16:36:18 +0800</pubDate><description><![CDATA[uva的题就不粘题目了 传送门：https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1576


这道题先把第一组数据编上号，然后第二组数据对上第一组的号，在第一组没出现的就不用管了，因为第一个人跳不到那，然后求一下最长上升子序列，第一次我是用暴力搜的，]]></description><category></category></item><item><title><![CDATA[POJ 3186	Treats for the Cows 递推]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972724</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972724</guid><author>canghai_wangzi</author><pubDate>Sun, 30 Oct 2016 16:35:08 +0800</pubDate><description><![CDATA[Treats for the Cows




Time Limit: 1000MS
 
Memory Limit: 65536K


Total Submissions: 5234
 
Accepted: 2737




Description

FJ has purchased N (1 

The treats are interesting fo]]></description><category></category></item><item><title><![CDATA[HDU 2859	 Phalanx 递推]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972691</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972691</guid><author>canghai_wangzi</author><pubDate>Sun, 30 Oct 2016 16:30:43 +0800</pubDate><description><![CDATA[Phalanx
Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1261    Accepted Submission(s): 625



Problem Description

Today is army day,]]></description><category></category></item><item><title><![CDATA[HDU 5119 Happy Matt Friends 递推]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972663</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972663</guid><author>canghai_wangzi</author><pubDate>Sun, 30 Oct 2016 16:25:21 +0800</pubDate><description><![CDATA[Happy Matt Friends
Time Limit: 6000/6000 MS (Java/Others)    Memory Limit: 510000/510000 K (Java/Others)
Total Submission(s): 3294    Accepted Submission(s): 1285



Problem Description

Matt ]]></description><category></category></item><item><title><![CDATA[HDU 1160	 FatMouse's Speed 递推]]></title><link>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972638</link><guid>https://blog.youkuaiyun.com/canghai_wangzi/article/details/52972638</guid><author>canghai_wangzi</author><pubDate>Sun, 30 Oct 2016 16:21:05 +0800</pubDate><description><![CDATA[FatMouse's Speed
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 14864    Accepted Submission(s): 6549
Special Judge


Problem Descriptio]]></description><category></category></item></channel></rss>