<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JWZH_CS的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JWZH_CS</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JWZH_CS]]></copyright><item><title><![CDATA[编程之美挑战赛复赛B题]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/8828623</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/8828623</guid><author>JWZH_CS</author><pubDate>Sat, 20 Apr 2013 17:42:45 +0800</pubDate><description><![CDATA[Alice新开了一家公司，它的下面有两个项目，分别需要N1和N2个人来完成。现在有N个人前来应聘，于是Alice通过面试来决定他们中的哪些人会被录用。

Alice在面试中，会仔细考察他们能如何为公司的项目带来收益。她给每个人打了两个分值Q1和Q2，表示他加入第一个和第二项目分别能带来的收益值。同时，她也会仔细考察他们每个人的缺点，并且给每人打了另两个分值C1和C2，表示他们进入每个项目可能带]]></description><category></category></item><item><title><![CDATA[srm 571]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/8593918</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/8593918</guid><author>JWZH_CS</author><pubDate>Wed, 20 Feb 2013 12:10:06 +0800</pubDate><description><![CDATA[第一次进div1啊。。。
div1 250
给两个数，n，k，求1-n中安字典序升序排列的前k个数。(k 
我的做法是通过go_next求排在cur后面的下一个数。
int go_next(int cur,int n)
{
  if(cur*10 
  if(cur+1 
  return cur/10+1;
}

但是大牛的做法基本上都是看出前k个数比在 10^m - 10]]></description><category></category></item><item><title><![CDATA[codeforce 157 div 2]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/8394538</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/8394538</guid><author>JWZH_CS</author><pubDate>Sun, 23 Dec 2012 20:49:06 +0800</pubDate><description><![CDATA[A,B,C都很水，就不说了。。
D题，求范围是1到m的某种序列的个数，该序列长度为7，某一个数包含的4，7个数大于其他6个数的4，7个数总和
ci表示含4，7个数为i的数个数（ci可暴出来），据此分组，枚举某一数所在的组，然后暴出此时的其他6个数的种类数即可。
E题：一个长度为n的序列，lcm(b1..bn) = max(b1..bn)，且bi 
1.枚举最大值m
2.求出m个所有因子，]]></description><category></category></item><item><title><![CDATA[srm 565 div 2]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/8393130</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/8393130</guid><author>JWZH_CS</author><pubDate>Sun, 23 Dec 2012 12:40:11 +0800</pubDate><description><![CDATA[250 水题

500 枚举每个怪打还是不打，dfs水过
1000 
题意：定义一个序列S[0] = N，length(S) = H,且 A[i+1] | A[i]，给定N,H,问有多少个数列满足要求。
将N质因子分解后，发现A[i+1]的质因子集是A[i]的子集，，然后就可以想象有n个盒子，每个盒子里有ai个球，每次选任意个（可以是0个），求有多少种选法。每个盒子都可以看成是独立的。然]]></description><category></category></item><item><title><![CDATA[CF 154 Div2]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/8273538</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/8273538</guid><author>JWZH_CS</author><pubDate>Sat, 08 Dec 2012 21:40:31 +0800</pubDate><description><![CDATA[A题 就是‘A’，‘G’中先放最个数多的那个字母
B题 先排序，然后枚举右边界，对于右边界r1 
C 直接bfs了
D 枚举子矩阵一条边（On^2），然后按照字母分类后，第二条边的枚举同B题的思路可优化成On的，可惜当时时间不够了。。]]></description><category></category></item><item><title><![CDATA[树形dp小结]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/8080573</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/8080573</guid><author>JWZH_CS</author><pubDate>Wed, 17 Oct 2012 11:47:00 +0800</pubDate><description><![CDATA[这些天做了一些树形dp的题目，感觉有了些领悟，尤其是理解到树形背包就是分组背包之后。。选出几道不错的总结一下
hdu 1520
hdu 4003
poj 1155
poj 2486
hdu 4313
hdu 4340


hdu 1520
入门水题
每个节点有权值，子节点和父节点不能同时选，问最后能选的最大价值是多少
dp[i][0]表示第i个节点不选，dp[i][1]表示]]></description><category></category></item><item><title><![CDATA[背包题目小结（持续更新中。。。长春赛H题）]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/8040570</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/8040570</guid><author>JWZH_CS</author><pubDate>Thu, 04 Oct 2012 23:47:14 +0800</pubDate><description><![CDATA[01背包
hdu 3466
给n个物品，m元钱，要买第i个物品，需拥有不小于q[i]的钱并花费p[i]的钱。这题是个与顺序有关的背包。对物品a，b,当前有钱m。要买物品a，b。要先买a在买b，需满足，m>=qa && m>=pa+qb,先买b再买a就要满足，m >= qb && m >= pb+qa. 我们先考虑pa+qb>=qa && pb+qa>=qb的情况，这样比较容易得出规律。要满足先]]></description><category></category></item><item><title><![CDATA[ZOJ Monthly, September 2012部分题目总结]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/8039095</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/8039095</guid><author>JWZH_CS</author><pubDate>Thu, 04 Oct 2012 09:43:28 +0800</pubDate><description><![CDATA[zoj 3644
有一只喵身上有个记分牌，她每沿着边走一步，记分牌上的数字就会变为，其中表示这一步的终点的一个给定值。问从起点S走到终点T，最后记分牌上写着k的方案有多少种。
dp状态显然和节点号与此时的分值有关，而且分值是k的因子。
dp[i][j]表示到到第i个节点，且变化后分值为k的第j个因子的路数。大分值只会来源于比它小的分值。所以最外层枚举j，里面枚举边就可以更新了。
dp[i]]]></description><category></category></item><item><title><![CDATA[hdu 4407,4415]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/8011987</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/8011987</guid><author>JWZH_CS</author><pubDate>Mon, 24 Sep 2012 11:17:06 +0800</pubDate><description><![CDATA[这两题都是比赛是想对了思路，但是因为代码各种写搓，导致最后都没有过。。
hdu 4407
对于1-n之间的数，有两种操作，1.求[x,y]间和p互质的数的和，2.把第x个数改成c
这题思路是单独考虑第2种操作带来的影响，然后把问题变成求1-n间和p互质和数的和，这个用容斥求就好。但是由于一个int 变量溢出。。导致wa了无数次。。


hdu 4415
宝剑初始耐久度是m，要杀死n个]]></description><category></category></item><item><title><![CDATA[srm 556 div2]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/7980683</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/7980683</guid><author>JWZH_CS</author><pubDate>Fri, 14 Sep 2012 22:00:51 +0800</pubDate><description><![CDATA[这次tc算是比较简单的了。
250.
暴力就好。
500.
看错题+犯2
给一个图，和出发点，每到一个点当前收益和改点权值异或，问在过程中能取得的最大收益值。
首先我把题意误解为求到第n个点的最大收益，然后对暴力的复杂度分析错误其实复杂度只有50*2^11的，到第i个点，只有到过该点且和收益显然就不用再走了，我没有认真分析。。还是太弱了。
1000
这次1000也很简单
贪心就好]]></description><category></category></item><item><title><![CDATA[ZOJ Monthly, August 2012部分题目总结]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/7926982</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/7926982</guid><author>JWZH_CS</author><pubDate>Thu, 30 Aug 2012 21:58:35 +0800</pubDate><description><![CDATA[zoj 3637 这题并不难，但好像大家都没看出来，我们也没看来。。
给一些区间，每个区间都有权重，选择一些不重复区间，求最大权重。
首先会想到朴素的dp,dp[i]表示时间为i时的最大收益
dp[i] = max(dp[i-1],max(dp[course[j].begin_time] + weight[j]));
然后我们会发现只有当i是一门课的终止时间的时候，才可能发生第二种转移。]]></description><category></category></item><item><title><![CDATA[单调队列两则]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/7909433</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/7909433</guid><author>JWZH_CS</author><pubDate>Sun, 26 Aug 2012 16:54:21 +0800</pubDate><description><![CDATA[单调队列
对于求解
f[x] = max or min {g(k) | b[k] 
(其中b[x]随x具有单调性,b[1] 
如果是max()
可发现 如果存在两个数，i,j，i = g[i] 则决策j是毫无用处的。 

因为根据单调性如果i可作为合法决策，则j一定可做为合法决策。


hdu 3401
dp[i][j] 第i天有j股票
dp[i][j] = max(dp[]]></description><category></category></item><item><title><![CDATA[hdu 4381 (多校第9场1002)]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897507</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897507</guid><author>JWZH_CS</author><pubDate>Wed, 22 Aug 2012 22:00:03 +0800</pubDate><description><![CDATA[这题属于中档偏易题，也就是我感觉我现在已经在赛场上可以做的题.从水题到中档题。这是我dp水平的一个阶段性的改变
所以把做题的过程总结一下我觉得还是很有意义的


题意：n个格子，有一系列操作,每个操作可做可不做，操作A 在[1,ai]中选出xi个黑格子，染成白色，操作B
在[ai,n]中选出xi个黑格子染成白色。求最多可染几个白格子。且为此最少要执行几次操作。
第一步，我们很明显的看到]]></description><category></category></item><item><title><![CDATA[usaco 1.1- 4.2总结合集 (2012年寒假)]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897367</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897367</guid><author>JWZH_CS</author><pubDate>Wed, 22 Aug 2012 21:17:58 +0800</pubDate><description><![CDATA[section 1.1 水模拟。回复回复代码能力。。 section 1.2 complete searchnnnn（枚举搜索）
减少不必要的枚举
transform写的挺搓，矩阵变化应该用struct的才好的。。。
Name That Number 同样是建立两个集合的关系，在保证内存的情况下，显然是写成函数映射用起来更方便啊。。。
1.2切的没有压力。。。


section 1]]></description><category></category></item><item><title><![CDATA[(转)导入/导出/删除 Chrome for Linux 的个人证书]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897272</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897272</guid><author>JWZH_CS</author><pubDate>Wed, 22 Aug 2012 20:43:44 +0800</pubDate><description><![CDATA[今天小折腾了下 StartSSL 的证书玩儿。一直在 Ubuntu 下的 Chrome 里弄，然后 StartSSL 上那个 Google Chrome is not fully supported, please use an alternative browser! 的提示也被我华丽的无视掉了，因为现在太习惯 Chrome了，想换 Firefox 结果没来的及换就一直继续下去了。不过 Chro]]></description><category></category></item><item><title><![CDATA[记用Linux半年小结]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897267</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897267</guid><author>JWZH_CS</author><pubDate>Wed, 22 Aug 2012 20:42:00 +0800</pubDate><description><![CDATA[用从1月份到现在用xubuntu已经半年多了，期间遇到并解决了不少问题。下面总结一下


安装chromium / chrome
sudo apt-get install chromium-browser
******
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key ad]]></description><category></category></item><item><title><![CDATA[从大牛代码中发现的一个有趣算法。。]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897254</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/7897254</guid><author>JWZH_CS</author><pubDate>Wed, 22 Aug 2012 20:33:57 +0800</pubDate><description><![CDATA[今天看CF，读大牛代码发现了了一个有趣的算法，研究了半天大概明白是了是什么意思。
算法主要解决这样一个问题
有N对数，（a0,b0）,(a1,b1)......用O（NlgN）复杂度排序预处理后可以在O（lgm）复杂度内知
所有比第i个数的a值小的数的b值的极值。（M是ai，bi的最大值）
试想，两个数x，y，x能在lg（x）的复杂度内到达到达状态Sx集合,和状态集合Tx；y则对应Sy和T]]></description><category></category></item><item><title><![CDATA[黑书 1.5.1]]></title><link>https://blog.youkuaiyun.com/JWZH_CS/article/details/7894755</link><guid>https://blog.youkuaiyun.com/JWZH_CS/article/details/7894755</guid><author>JWZH_CS</author><pubDate>Wed, 22 Aug 2012 10:48:46 +0800</pubDate><description><![CDATA[这一节主要讲了dp的基本概念和基本的做题思路
DP是一种可以减少计算冗余量来求到最优解的思想
对于一个问题，看其能不能用dp来解决要看其能不能满足无后效性和最优化原理.
对于状态为s.f(s)表示该状态下的最优解
所谓无后效性就是对于当前状态s，我们的策略只取决于s本身的特征因素，和如何到达s无关。
最优化原理就是说对于两个状态s,t，t由s转移而来，则f(t)满足f(t) = f(s)]]></description><category></category></item></channel></rss>