<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[IcEternal]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/devillaw_zhc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; devillaw_zhc]]></copyright><item><title><![CDATA[Sublime Text 2 快捷键等TIPS]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/9168915</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/9168915</guid><author>devillaw_zhc</author><pubDate>Tue, 25 Jun 2013 12:17:40 +0800</pubDate><description><![CDATA[Sublime 实用快捷键 (Windows & Linux


Ctrl+D              选中当前光标所在单词，或者加入下一个与已选中单词相同的单词并产生multiple cursor
Ctrl+←             到行首
Ctrl+I               找到第一个要找的单词（优点是找到后按下enter就自动定位了）
Ctrl+J]]></description><category></category></item><item><title><![CDATA[Tips For Codeigniter]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/9156559</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/9156559</guid><author>devillaw_zhc</author><pubDate>Sun, 23 Jun 2013 20:04:38 +0800</pubDate><description><![CDATA[一. 如果你想不要在页面上显示php错误，只要把index.php中的
	error_reporting(E_ALL); 改成	error_reporting(0);]]></description><category></category></item><item><title><![CDATA[一些有用的手机软件（好多美化软件）]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7926391</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7926391</guid><author>devillaw_zhc</author><pubDate>Thu, 30 Aug 2012 18:51:47 +0800</pubDate><description><![CDATA[桌面流量短信等状态统计插件 DroidStats
http://www.wandoujia.com/apps/nitro.phonestats



自定义应用图标 Desktop VisualizeR
http://www.wandoujia.com/apps/jp.co.bii.android.app.dskvzr


经典的光线反射原理的益智游戏 Meon

http:]]></description><category></category></item><item><title><![CDATA[（压位）高精度思想教程 与 代码实现]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7776578</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7776578</guid><author>devillaw_zhc</author><pubDate>Mon, 23 Jul 2012 19:39:52 +0800</pubDate><description><![CDATA[高精度这玩意儿真是好久没写了，时隔多年，从 Pascal 转到 C++
 , 代码风格也变了
重新编了一下（经过潘神指导！），觉得比以前写的好多了~


想了想干脆写一个小教程，希望初学者能有所收获~~


一.高精度四则运算思想
高精度这个东西其实谁都会，上过小学数学课就知道高精度怎么做了，就是按照人的运算方式，一位一位运算。
1.加法 
就是 从个位开始 两个数字相加，如]]></description><category></category></item><item><title><![CDATA[USACO 3.3.3 Camelot]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7765068</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7765068</guid><author>devillaw_zhc</author><pubDate>Thu, 19 Jul 2012 22:24:06 +0800</pubDate><description><![CDATA[好烦人的题，恶心死我了


具体思路，先用 SPFA 把每个点到每个点的 骑士走的最小步数 求出来


然后枚举集结点
有以下几种情况
1. 所有骑士和王 都自己走到集结点
2. 一个骑士带王走到终点， 我是只考虑在 王的周围 8 个点 或者 王本来所在的点 接王，但是事实证明最后一个点过不去。。。我X，所以我就诈了一下，看了下最后一组的数据，发现需要王往左下走 2 格， 那我就]]></description><category></category></item><item><title><![CDATA[多维完全背包 USACO 3.3.2 Shopping Offers]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7764572</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7764572</guid><author>devillaw_zhc</author><pubDate>Thu, 19 Jul 2012 19:22:45 +0800</pubDate><description><![CDATA[典型多维完全背包


/*
PROG:fence
LANG:C++
*/

#include 
#include 

using namespace std;

const int MAXN = 501;
int d[MAXN], tot, ans[10000], n, up, down = ~0U>>1;
int a[MAXN][MAXN];

void dfs(int x)
{]]></description><category></category></item><item><title><![CDATA[欧拉回路 USACO 3.3.1 Riding the Fences]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7764396</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7764396</guid><author>devillaw_zhc</author><pubDate>Thu, 19 Jul 2012 18:18:37 +0800</pubDate><description><![CDATA[典型的求欧拉回路，仔细一点就行了


注意
节点间可能有很多条边


/*
PROG:fence
LANG:C++
*/

#include 
#include 

using namespace std;

const int MAXN = 501;
int d[MAXN], tot, ans[10000], n, up, down = ~0U>>1;
int a[MAXN][MA]]></description><category></category></item><item><title><![CDATA[dijkstra+堆优化 USACO 3.2.6 Sweet Butter]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7763613</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7763613</guid><author>devillaw_zhc</author><pubDate>Thu, 19 Jul 2012 16:18:02 +0800</pubDate><description><![CDATA[想练一练dijkstra+堆优化，从来没有写过~
要看懂以下内容 首先自学 dijkstra 算法， 和 堆哦~


一开始考虑是想堆里存结构体，但是经过潘神指导，发现不需要~毕竟写结构体会蛋疼些。。


介绍一下各个数组的作用
d[i] 表示 从源点 s 到 节点 i 的当前最短距离
v[i] 其实和 d[i] 是一个东西，也是源点 s 到 节点 i 的当前最短距离， 唯一的不]]></description><category></category></item><item><title><![CDATA[USACO 3.2.5 Magic Squares]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7759428</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7759428</guid><author>devillaw_zhc</author><pubDate>Wed, 18 Jul 2012 15:59:28 +0800</pubDate><description><![CDATA[看到题目，必然是宽搜无疑了
主要是对于状态的储存方法，一开始我很脑残的用 9 进制数来存状态，写到一半发现内存会超。。
重新考虑下，因为最多只有 8! 种状态，所以直接存每种状态有没有出现过是可行的。
TRANS 函数将每个状态映射到一个数（按 1 到 8 的全排列 从小到大顺序第 k 个， 就把当前状态映射到 k )
比如 1 2 3 4 5 6 7 8 映射到 1， 2 1 3 4 5]]></description><category></category></item><item><title><![CDATA[USACO 3.2.4 Feed Ratios]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7759040</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7759040</guid><author>devillaw_zhc</author><pubDate>Wed, 18 Jul 2012 14:21:52 +0800</pubDate><description><![CDATA[题目既然告诉我们答案的三个数都会小于100
那么就别客气了，直接暴力。


/*
PROG:ratios
LANG:C++
*/

#include 

using namespace std;

int x[4], y[4], z[4], X, Y, Z, R, I, J, K, ans = ~0U>>1;

int main()
{
    freopen("ratios.in", "]]></description><category></category></item><item><title><![CDATA[USACO 3.2.3 Spinning Wheels]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7758913</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7758913</guid><author>devillaw_zhc</author><pubDate>Wed, 18 Jul 2012 13:49:14 +0800</pubDate><description><![CDATA[比较简单的题，直接模拟做就行。
判断一个角度是否在某个范围(st, st+sp)内用 (deg - st + 360) % 360 


/*
PROG:spin
LANG:C++
*/

#include 

using namespace std;

int v[6], s[6], st[6][6], sp[6][6];

bool satisfy(int time, int deg)]]></description><category></category></item><item><title><![CDATA[USACO 3.2.2 Stringsobits]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7758801</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7758801</guid><author>devillaw_zhc</author><pubDate>Wed, 18 Jul 2012 13:11:43 +0800</pubDate><description><![CDATA[主要思路是动态规划
f[i][j] 代表 长度为 i , '1' 的个数为 j 的方案数。
转移方程分加一个 1 和 加一个 0 两种情况 
即 f[i][j] = f[i-1][j] + f[i-1][j-1]
边界情况是 f[i][0] = 1, f[0][i] = 1
要注意在转移的时候 f[i][j] 若 j > i 则 f[i][j] = f[i][i];


然后是求出]]></description><category></category></item><item><title><![CDATA[USACO 3.2.1 Factorials]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7756467</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7756467</guid><author>devillaw_zhc</author><pubDate>Tue, 17 Jul 2012 18:27:11 +0800</pubDate><description><![CDATA[先扫一遍统计因数 5 的个数 k （因数 2 的个数显然大于 因数 5 的个数）
再扫一遍把 k 个 5 和 k 个 2 除掉， 那么接下来每次结果都mod 10就是了


/*
PROG:fact4
LANG:C++
*/

#include 

using namespace std;

int n, ans = 1, cnt2, cnt5;

int main()
{
    fre]]></description><category></category></item><item><title><![CDATA[USACO 3.1.6 Stamps]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7756411</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7756411</guid><author>devillaw_zhc</author><pubDate>Tue, 17 Jul 2012 18:09:06 +0800</pubDate><description><![CDATA[典型的完全背包，f[i][j] 表示使用前 i 种邮票，达到 j 面值需要的最小邮票数，最后判断是不是大于 k 即可。
用了滚动数组，看不懂的可以百度“背包九讲”，讲的非常清晰



/*
PROG:stamps
LANG:C++
*/

#include 
#include 
#include 

using namespace std;

const int MAX = 200000]]></description><category></category></item><item><title><![CDATA[USACO 3.1.5 Contact]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7756347</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7756347</guid><author>devillaw_zhc</author><pubDate>Tue, 17 Jul 2012 17:49:54 +0800</pubDate><description><![CDATA[扫一遍整个串，每进来一个字符，往前扫(i = a to b)个字符，对每一个子字符串，最高位加上1后（防止忽略前导0）转为数字，对应次数加一。
主要是输出格式有点蛋疼，要仔细一点~


/*
PROG:contact
LANG:C++
*/

#include 
#include 
#include 

using namespace std;

int a, b, n, cnt, tot]]></description><category></category></item><item><title><![CDATA[USACO 3.1.4 Shaping Regions]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7755857</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7755857</guid><author>devillaw_zhc</author><pubDate>Tue, 17 Jul 2012 16:22:29 +0800</pubDate><description><![CDATA[比较经典的一道题目了。
我这次用的是漂浮法，从最后一个矩形开始做，每次都把新进来的矩形压到最底层，一层一层往上浮，并检查剩下那些部分即可。
用空学一下离散化+线段树+扫面线，还没写过~


/*
PROG:rect1
LANG:C++
*/

#include 

const int N = 1001;
int l[N], r[N], b[N], t[N], c[N], sum[3000]]></description><category></category></item><item><title><![CDATA[USACO 3.1.3 Humble Numbers]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7755332</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7755332</guid><author>devillaw_zhc</author><pubDate>Tue, 17 Jul 2012 14:43:56 +0800</pubDate><description><![CDATA[直接枚举N个数，用index数组来记录每个质数乘到第几个数了。
/*
PROG:humble
LANG:C++
*/

#include 

using namespace std;

const int MAXINT = ~0U>>1;
const int N = 100001;
int k, n, a[101], index[101], ans[N], min, tot, minK, min]]></description><category></category></item><item><title><![CDATA[USACO 2.4.5 Fractions to Decimals]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7754863</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7754863</guid><author>devillaw_zhc</author><pubDate>Tue, 17 Jul 2012 12:59:27 +0800</pubDate><description><![CDATA[以前做过这题，没什么特别思路，手工模拟除法即可。

问题是这蛋疼的输出格式，让我纠结了好久。

偶然看到了一个叫sprintf的逆天的东西！居然写到了50行以内啊！

庆祝一下~




C++语言: 2.4.5 fracdec
/*
PROG:fracdec
LANG:C++
*/
#include 
#include 

using namespace std;

con]]></description><category></category></item><item><title><![CDATA[USACO 1.4.1 Packing Rectangles]]></title><link>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7754852</link><guid>https://blog.youkuaiyun.com/devillaw_zhc/article/details/7754852</guid><author>devillaw_zhc</author><pubDate>Tue, 17 Jul 2012 12:56:34 +0800</pubDate><description><![CDATA[刚开始看到这题有点虚。。第6种情况实在是坑爹




看了些代码，最后决定舍弃别人的思路自己重新想，总算想清楚了，因为我取高度是max(左上+左下，右上+右下),宽度是max(左下+右下，左上+右上），所以重叠情况只能发生在左上和右下 或者 左下和右上。这样就清晰很多了。




代码实现我参考了nocow的第一个程序，那人写的真心漂亮。




一次AC,庆祝一下~]]></description><category></category></item></channel></rss>