- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 Codeforces Round #232 (Div. 1)(A,B,C,D)
比赛链接: http://codeforces.com/contest/396代码链接: https://github.com/9974/Codeforces/tree/master/232div1A分解质因数, 对于每个质数单独考虑,假设质数2的指数为m, 那么我们要做的就是求 把m个2分配给n个数 的情况数用高中的挡板法得 C[m+n-1][n], 每个质数是相互独立的
2014-02-28 19:34:43 1244 1
原创 SPOJ Free tour II 点分治
论文第二题,看了论文的思路,自己敲出来的g++ 4.3.2交AC#include #include #include #include using namespace std;const int maxn = 200005;const int inf = 2*1e9+7;struct Edge { int v, w, next; Edge(int v, int
2014-02-23 15:52:53 1136
原创 Codeforces Round #225~229专辑
加*为好题,所有代码在github上 代码链接229Div2C 前缀和乱搞题D 简单构造题E ***线段树228Div1B***二进制构造最短路题C贪心的博弈题227Div2C***思维题D匈牙利算法裸题E数据结构维护226Div2C***数论小技巧题D简单状态压缩(带几何计算)E简单矩阵乘法
2014-02-22 20:14:12 1015
原创 Codeforces Round #231 (Div. 2)A, B, C, D
A, B ...C想好思路,恶搞#include #include #include using namespace std;int n, m;int c[3];char s[3];int ans[1003][1003];void out() { int i, j; for(i = 0; i < n; i++, puts("")) for(j = 0; j <
2014-02-21 19:53:01 1122
原创 POJ 1741 树的分治(点分治)入门
看一下09年漆子超的论文,是论文的第一题,思路在其中讲得很清楚了。复杂度分析:每次先找当前树的重心,再从重心为根遍历这颗树, 从表面上看来这个复杂度很大,但事实并非如此,通过找多次重心,使整棵树的深度不超过log(n), 所以对于每个点的访问次数不超过log(n), 总体复杂度nlog(n), 如果在dfs里面添加一些操作,那么就要把复杂度乘上去,这题cal的复杂度是log(n), 总体复杂度
2014-02-20 19:38:46 1327
转载 shell脚本例子(转)
1.模拟linnux登录shell#/bin/bashecho -n "login:" read nameecho -n "password:"read passwdif [ $name = "cht" -a $passwd = "abc" ];thenecho "the host and password is right!"else echo "input
2014-02-19 23:34:18 976
原创 Codeforces Round #230 (Div. 1)B,C
B.汉诺塔问题原型就是用递归解的,这里加上了每步的费用,无非是 递归+dp一下,也就是记忆化dp就可以了注意long long#include #include #include #include #include using namespace std;typedef long long ll;int t[4][4];const ll inf = 1e18;type
2014-02-19 16:46:05 1353
原创 hdu1890 伸展树区间翻转复习
题意: 给你n个数,每次先输出第i大的数的位置(如果有多个,选下标小的那个),然后每次将第i个位置到第i大的数所在位置之间的数进行翻转。思路:输入的数组可能有多个相同的值,我们可以进行两次排序把数组的值变为0---n-1(表示第几大)。在建伸展树的时候我们可以顺便用pos[i]记录第i大的数的节点指针。对于第i次操作,我们用flip记录翻转标记,每次先把第i大的节点pos[
2014-02-16 00:22:18 1493
原创 大视野1588 splay简单题
题目连接题意: 给你n个数,要求对于所有的i, 求出第i个数 和1------- i-1之间的数里找一个与第i 个数绝对值差值最小, 求所有的差值之和做法: 对于第i个数v,把v 插入伸展树,若v存在就不插入,并把v所在的节点旋转到根,在通过根的左右子树找最接近的左右两个数,更新答案即可#include #include #include using namespace st
2014-02-12 23:55:58 1484 2
原创 vim实用快捷键整理(光标移动,插入,删除,复制,查找,替换)
刚刚整理了一下vim写代码最常用的快捷键。删去了其它 对于一般人来说效率也不高的快捷键。光标移动指令:h 左l 右k 上j 下Ctrl+f 向前翻页Ctrl+b 向后翻页:0 行首:$ 行尾gg 文档首部G 文档尾部w 移至一个word的首部e 移至一个word的尾部b 移至前一个word的首部:n 移至第n行行首
2014-02-09 20:17:44 2949
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人