- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 Sublime Text 2 快捷键等TIPS
Sublime 实用快捷键 (Windows & LinuxCtrl+D 选中当前光标所在单词,或者加入下一个与已选中单词相同的单词并产生multiple cursorCtrl+← 到行首Ctrl+I 找到第一个要找的单词(优点是找到后按下enter就自动定位了)Ctrl+J
2013-06-25 12:17:40
927
原创 Tips For Codeigniter
一. 如果你想不要在页面上显示php错误,只要把index.php中的 error_reporting(E_ALL); 改成 error_reporting(0);
2013-06-23 20:04:38
574
原创 一些有用的手机软件(好多美化软件)
桌面流量短信等状态统计插件 DroidStatshttp://www.wandoujia.com/apps/nitro.phonestats自定义应用图标 Desktop VisualizeRhttp://www.wandoujia.com/apps/jp.co.bii.android.app.dskvzr经典的光线反射原理的益智游戏 Meonhttp:
2012-08-30 18:51:47
705
原创 (压位)高精度思想教程 与 代码实现
高精度这玩意儿真是好久没写了,时隔多年,从 Pascal 转到 C++ , 代码风格也变了重新编了一下(经过潘神指导!),觉得比以前写的好多了~想了想干脆写一个小教程,希望初学者能有所收获~~一.高精度四则运算思想高精度这个东西其实谁都会,上过小学数学课就知道高精度怎么做了,就是按照人的运算方式,一位一位运算。1.加法 就是 从个位开始 两个数字相加,如
2012-07-23 19:39:52
5666
原创 USACO 3.3.3 Camelot
好烦人的题,恶心死我了具体思路,先用 SPFA 把每个点到每个点的 骑士走的最小步数 求出来然后枚举集结点有以下几种情况1. 所有骑士和王 都自己走到集结点2. 一个骑士带王走到终点, 我是只考虑在 王的周围 8 个点 或者 王本来所在的点 接王,但是事实证明最后一个点过不去。。。我X,所以我就诈了一下,看了下最后一组的数据,发现需要王往左下走 2 格, 那我就
2012-07-19 22:24:06
748
原创 多维完全背包 USACO 3.3.2 Shopping Offers
典型多维完全背包/*PROG:fenceLANG: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){
2012-07-19 19:22:45
563
原创 欧拉回路 USACO 3.3.1 Riding the Fences
典型的求欧拉回路,仔细一点就行了注意节点间可能有很多条边/*PROG:fenceLANG: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
2012-07-19 18:18:37
4530
原创 dijkstra+堆优化 USACO 3.2.6 Sweet Butter
想练一练dijkstra+堆优化,从来没有写过~要看懂以下内容 首先自学 dijkstra 算法, 和 堆哦~一开始考虑是想堆里存结构体,但是经过潘神指导,发现不需要~毕竟写结构体会蛋疼些。。介绍一下各个数组的作用d[i] 表示 从源点 s 到 节点 i 的当前最短距离v[i] 其实和 d[i] 是一个东西,也是源点 s 到 节点 i 的当前最短距离, 唯一的不
2012-07-19 16:18:02
485
原创 USACO 3.2.5 Magic Squares
看到题目,必然是宽搜无疑了主要是对于状态的储存方法,一开始我很脑残的用 9 进制数来存状态,写到一半发现内存会超。。重新考虑下,因为最多只有 8! 种状态,所以直接存每种状态有没有出现过是可行的。TRANS 函数将每个状态映射到一个数(按 1 到 8 的全排列 从小到大顺序第 k 个, 就把当前状态映射到 k )比如 1 2 3 4 5 6 7 8 映射到 1, 2 1 3 4 5
2012-07-18 15:59:28
547
原创 USACO 3.2.4 Feed Ratios
题目既然告诉我们答案的三个数都会小于100那么就别客气了,直接暴力。/*PROG:ratiosLANG: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", "
2012-07-18 14:21:52
495
原创 USACO 3.2.3 Spinning Wheels
比较简单的题,直接模拟做就行。判断一个角度是否在某个范围(st, st+sp)内用 (deg - st + 360) % 360 /*PROG:spinLANG:C++*/#include using namespace std;int v[6], s[6], st[6][6], sp[6][6];bool satisfy(int time, int deg)
2012-07-18 13:49:14
385
原创 USACO 3.2.2 Stringsobits
主要思路是动态规划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];然后是求出
2012-07-18 13:11:43
481
原创 USACO 3.2.1 Factorials
先扫一遍统计因数 5 的个数 k (因数 2 的个数显然大于 因数 5 的个数)再扫一遍把 k 个 5 和 k 个 2 除掉, 那么接下来每次结果都mod 10就是了/*PROG:fact4LANG:C++*/#include using namespace std;int n, ans = 1, cnt2, cnt5;int main(){ fre
2012-07-17 18:27:11
379
原创 USACO 3.1.6 Stamps
典型的完全背包,f[i][j] 表示使用前 i 种邮票,达到 j 面值需要的最小邮票数,最后判断是不是大于 k 即可。用了滚动数组,看不懂的可以百度“背包九讲”,讲的非常清晰/*PROG:stampsLANG:C++*/#include #include #include using namespace std;const int MAX = 200000
2012-07-17 18:09:06
417
原创 USACO 3.1.5 Contact
扫一遍整个串,每进来一个字符,往前扫(i = a to b)个字符,对每一个子字符串,最高位加上1后(防止忽略前导0)转为数字,对应次数加一。主要是输出格式有点蛋疼,要仔细一点~/*PROG:contactLANG:C++*/#include #include #include using namespace std;int a, b, n, cnt, tot
2012-07-17 17:49:54
574
原创 USACO 3.1.4 Shaping Regions
比较经典的一道题目了。我这次用的是漂浮法,从最后一个矩形开始做,每次都把新进来的矩形压到最底层,一层一层往上浮,并检查剩下那些部分即可。用空学一下离散化+线段树+扫面线,还没写过~/*PROG:rect1LANG:C++*/#include const int N = 1001;int l[N], r[N], b[N], t[N], c[N], sum[3000
2012-07-17 16:22:29
480
原创 USACO 3.1.3 Humble Numbers
直接枚举N个数,用index数组来记录每个质数乘到第几个数了。/*PROG:humbleLANG: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
2012-07-17 14:43:56
343
原创 USACO 2.4.5 Fractions to Decimals
以前做过这题,没什么特别思路,手工模拟除法即可。问题是这蛋疼的输出格式,让我纠结了好久。偶然看到了一个叫sprintf的逆天的东西!居然写到了50行以内啊!庆祝一下~C++语言: 2.4.5 fracdec/*PROG:fracdecLANG:C++*/#include #include using namespace std;con
2012-07-17 12:59:27
531
原创 USACO 1.4.1 Packing Rectangles
刚开始看到这题有点虚。。第6种情况实在是坑爹看了些代码,最后决定舍弃别人的思路自己重新想,总算想清楚了,因为我取高度是max(左上+左下,右上+右下),宽度是max(左下+右下,左上+右上),所以重叠情况只能发生在左上和右下 或者 左下和右上。这样就清晰很多了。代码实现我参考了nocow的第一个程序,那人写的真心漂亮。一次AC,庆祝一下~
2012-07-17 12:56:34
566
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人