自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 Sublime Text 2 快捷键等TIPS

Sublime 实用快捷键 (Windows & Linux Ctrl+D              选中当前光标所在单词,或者加入下一个与已选中单词相同的单词并产生multiple cursor Ctrl+←             到行首 Ctrl+I               找到第一个要找的单词(优点是找到后按下enter就自动定位了) Ctrl+J

2013-06-25 12:17:40 973

原创 Tips For Codeigniter

一. 如果你想不要在页面上显示php错误,只要把index.php中的 error_reporting(E_ALL); 改成 error_reporting(0);

2013-06-23 20:04:38 607

原创 一些有用的手机软件(好多美化软件)

桌面流量短信等状态统计插件 DroidStats http://www.wandoujia.com/apps/nitro.phonestats 自定义应用图标 Desktop VisualizeR http://www.wandoujia.com/apps/jp.co.bii.android.app.dskvzr 经典的光线反射原理的益智游戏 Meon http:

2012-08-30 18:51:47 763

原创 (压位)高精度思想教程 与 代码实现

高精度这玩意儿真是好久没写了,时隔多年,从 Pascal 转到 C++ , 代码风格也变了 重新编了一下(经过潘神指导!),觉得比以前写的好多了~ 想了想干脆写一个小教程,希望初学者能有所收获~~ 一.高精度四则运算思想 高精度这个东西其实谁都会,上过小学数学课就知道高精度怎么做了,就是按照人的运算方式,一位一位运算。 1.加法  就是 从个位开始 两个数字相加,如

2012-07-23 19:39:52 5786

原创 USACO 3.3.3 Camelot

好烦人的题,恶心死我了 具体思路,先用 SPFA 把每个点到每个点的 骑士走的最小步数 求出来 然后枚举集结点 有以下几种情况 1. 所有骑士和王 都自己走到集结点 2. 一个骑士带王走到终点, 我是只考虑在 王的周围 8 个点 或者 王本来所在的点 接王,但是事实证明最后一个点过不去。。。我X,所以我就诈了一下,看了下最后一组的数据,发现需要王往左下走 2 格, 那我就

2012-07-19 22:24:06 789

原创 多维完全背包 USACO 3.3.2 Shopping Offers

典型多维完全背包 /* 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) {

2012-07-19 19:22:45 609

原创 欧拉回路 USACO 3.3.1 Riding the Fences

典型的求欧拉回路,仔细一点就行了 注意 节点间可能有很多条边 /* 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

2012-07-19 18:18:37 4582

原创 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 541

原创 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 599

原创 USACO 3.2.4 Feed Ratios

题目既然告诉我们答案的三个数都会小于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", "

2012-07-18 14:21:52 545

原创 USACO 3.2.3 Spinning Wheels

比较简单的题,直接模拟做就行。 判断一个角度是否在某个范围(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)

2012-07-18 13:49:14 446

原创 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 527

原创 USACO 3.2.1 Factorials

先扫一遍统计因数 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

2012-07-17 18:27:11 428

原创 USACO 3.1.6 Stamps

典型的完全背包,f[i][j] 表示使用前 i 种邮票,达到 j 面值需要的最小邮票数,最后判断是不是大于 k 即可。 用了滚动数组,看不懂的可以百度“背包九讲”,讲的非常清晰 /* PROG:stamps LANG:C++ */ #include #include #include using namespace std; const int MAX = 200000

2012-07-17 18:09:06 464

原创 USACO 3.1.5 Contact

扫一遍整个串,每进来一个字符,往前扫(i = a to b)个字符,对每一个子字符串,最高位加上1后(防止忽略前导0)转为数字,对应次数加一。 主要是输出格式有点蛋疼,要仔细一点~ /* PROG:contact LANG:C++ */ #include #include #include using namespace std; int a, b, n, cnt, tot

2012-07-17 17:49:54 720

原创 USACO 3.1.4 Shaping Regions

比较经典的一道题目了。 我这次用的是漂浮法,从最后一个矩形开始做,每次都把新进来的矩形压到最底层,一层一层往上浮,并检查剩下那些部分即可。 用空学一下离散化+线段树+扫面线,还没写过~ /* PROG:rect1 LANG: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 540

原创 USACO 3.1.3 Humble Numbers

直接枚举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

2012-07-17 14:43:56 408

原创 USACO 2.4.5 Fractions to Decimals

以前做过这题,没什么特别思路,手工模拟除法即可。 问题是这蛋疼的输出格式,让我纠结了好久。 偶然看到了一个叫sprintf的逆天的东西!居然写到了50行以内啊! 庆祝一下~ C++语言: 2.4.5 fracdec /* PROG:fracdec LANG:C++ */ #include #include using namespace std; con

2012-07-17 12:59:27 588

原创 USACO 1.4.1 Packing Rectangles

刚开始看到这题有点虚。。第6种情况实在是坑爹 看了些代码,最后决定舍弃别人的思路自己重新想,总算想清楚了,因为我取高度是max(左上+左下,右上+右下),宽度是max(左下+右下,左上+右上),所以重叠情况只能发生在左上和右下 或者 左下和右上。这样就清晰很多了。 代码实现我参考了nocow的第一个程序,那人写的真心漂亮。 一次AC,庆祝一下~

2012-07-17 12:56:34 619

C++ (压位)高精度四则运算

写的比较漂亮的一个高精度四则运算 压位只需改两个const即可~非常方便

2012-07-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除