上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页
摘要: 图算法差分约束系统的建立和求解poj1201(1716类似),poj2983, poj3159poj1275, poj1364最小(大)费用最大流poj2516, poj2195, poj3422(最大费用最大流)poj2135(很裸的最小费用最大流,不过有一个大坑。。。)双连通分量poj2942,poj3694强连通分支及其缩点poj2186, poj3592, poj3114图的割边和割点poj3352(外加3117)最小割模型poj3308, poj3155(偏难)详见:http://www.cnblogs.com/vongang/archive/2012/10/25/274004... 阅读全文
posted @ 2012-04-14 21:02 AC_Von 阅读(854) 评论(0) 推荐(0) 编辑
摘要: 基本算法C++的标准模版库的应用poj3096,poj3007较为复杂的模拟题的训练poj3393,poj1472,poj1027,poj3371,poj2706POJ 3096水题,map,set随便搞POJ 1472TLE了一下午,PE了一晚上。。。我滴神啊!算时间复杂度,用堆模拟。。。参考的代码。。。T_TView Code #include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>#include <string>using namespac 阅读全文
posted @ 2012-04-11 15:52 AC_Von 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 点结构struct Point { double x; double y; Point(double a = 0, double b = 0) : x(a), y(b) {}};1、浮点数过滤int dbcmp(double x) { if(x > eps) return 1; else if(x < -eps) return -1; return 0;}2、线段求交点(简化一下可以用来判线段相交(规范相交))double det(double x1, double y1, double x2, double y2) { //求叉积 ... 阅读全文
posted @ 2012-04-11 15:47 AC_Von 阅读(281) 评论(0) 推荐(0) 编辑
摘要: sudo apt-get install poppler-data 如果还有乱码:sudo rm /etc/fonts/conf.d/49-sansserif.conf 阅读全文
posted @ 2012-04-10 08:56 AC_Von 阅读(169) 评论(2) 推荐(0) 编辑
摘要: wikipedia上的证明给定顶点座标均是整点(或正方形格点)的简单多边形,皮克定理说明了其面积A和内部格点数目i、边上格点数目b的关系:A=i+b/2 - 1。证明因为所有简单多边形都可切割为一个三角形和另一个简单多边形。考虑一个简单多边形P,及跟P有一条共同边的三角形T。若P符合皮克公式,则只要证明P加上T的PT亦符合皮克公式(I),与及三角形符合皮克公式(II),就可根据数学归纳法,对于所有简单多边形皮克公式都是成立的。多边形设P和T的共同边上有c个格点。P的面积:iP+bP/2 - 1T的面积:iT+bT/2 - 1PT的面积:(iT+iP+c- 2) + (bT-c+ 2 +bP-c 阅读全文
posted @ 2012-04-07 10:43 AC_Von 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 计算几何学几何公式poj1265(pick定理)叉积和点积的运用poj2031,poj1039多边型的简单算法和相关判定poj1408,poj1584凸包poj2187,poj1113POJ 1265这题貌似。。。pick定理+线段上的整数点的个数+叉积求多边形面积。。。pick定理:http://www.cnblogs.com/vongang/archive/2012/04/07/2435741.html线段上的整数点的个数:算导上的推论,方程ax ≡ c (mod b)或者对模n有d个不同的解,或则无解。 同余方程可写成 ax + by = c. 即是线段ab上有d个整数点。叉积求... 阅读全文
posted @ 2012-04-07 10:07 AC_Von 阅读(728) 评论(0) 推荐(0) 编辑
摘要: 物理题,我把公式推错了。。。 两个限制条件,1、能爬上最高坡。2、Sweet Potato在每一个有Bitter Potatoes位置的速度大于等于Bitter 的速度。设要求的初速度为pv1、pv = sqrt(2*g*(maxh - h0));2、pv = tpv = sqrt(vi*vi + 2*g*hi); 为bitter potato纵坐标。View Code #include <iostream>#include <cstring>#include <cstdio>#include <cmath>using namespace std 阅读全文
posted @ 2012-04-05 17:15 AC_Von 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 优先队列,据说标程是并查集,没思路。貌似优先队列都是直接用stl写的,又逼我用stl了。prioriry_queue不熟。ps: value值越小,优先级越高。所以重载 < 运算符时按优先级从大到小排序bool operator < (const node a, const node b) { if(a.day != b.day) return a.day > b.day; return a.type > b.type;}参考网上的代码View Code 1 #include <iostream> 2 #include <cstdio> 3 #i 阅读全文
posted @ 2012-04-01 21:11 AC_Von 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 裸奔的矩阵乘法,当模板了。#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int N = 2;const int MOD = 10000;struct Mat { long long mat[N][N]; void init() { for(int i = 0; i < N; ++i) { for(int j = 0; j < N; ++j) mat[i][j] = (i == j); }... 阅读全文
posted @ 2012-04-01 17:28 AC_Von 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 据说,矩阵快速幂在递推式优化上相当神奇,而且效率很高。。。 两矩阵相乘,朴素算法的复杂度是O(N^3)。如果求一次矩阵的M次幂,按朴素的写法就是O(N^3*M)。既然是求幂,不免想到快速幂取模的算法,这里有快速幂取模的介绍,a^b %m 的复杂度可以降到O(logb)。如果矩阵相乘是不是也... 阅读全文
posted @ 2012-04-01 16:42 AC_Von 阅读(22980) 评论(9) 推荐(6) 编辑
摘要: 比赛的时候没仔细看题,感觉挺麻烦的就没写。赛后看了一下解题报告。。。其实这题不复杂,考虑出一种情况,剩下的Ctrl + C, Ctrl + V就行。三维滚动数组。f[j][k][l]表示slot x1, x2, x3的值为j,k,l时的最优值。pre[j][k][l]表示他的前一个状态。ps:发现一个trap。滚动数组f[][][]在给p[][][]传递完参数后要置0,否则影响下一次的运算。。。View Code #include <iostream>#include <cstring>#include <cstdio>#include <cstdli 阅读全文
posted @ 2012-03-31 21:42 AC_Von 阅读(549) 评论(0) 推荐(0) 编辑
摘要: 欧几里德算法也就是一般说的辗转相除法。代码框架如下:int gcd(int a, int b) { return b ? gcd(b, a%b) : a;}粗略估计需要进行O(log b)次整数运算。实际上,当n固定后gcd(m, n)的平均迭代次数(m <= n)近视为(12*ln2 / π2)*ln(n) 。(不知道怎么证明的-_-!) 扩展欧几里德算法 设gcd(a, b) = d,则存在正整数x, y满足ax + by = d。算法框架int x, y;int ext_gcd(int a, int b) { if(b == 0) { x = 1; y ... 阅读全文
posted @ 2012-03-30 10:00 AC_Von 阅读(427) 评论(2) 推荐(0) 编辑
摘要: 鸽巢定理的简单形式 鸽巢原理(抽屉原理):如果有n+1个鸽子要进n个鸽巢,则至少存在一个鸽巢种包含两个或更多的鸽子。看上去是一句“废话”,不过这句”废话“在用来证明一个排列或则某种现象的存在性上相当有魅力!关于鸽巢原理更抽象的表述:• If X has more elements than Y, then f is not one-to-one.• If X and Y have the same number of elements and f is onto, then f is one-to-one.• If X and Y have the same number of elemen. 阅读全文
posted @ 2012-03-29 17:17 AC_Von 阅读(771) 评论(0) 推荐(0) 编辑
摘要: 数学组合数学POJ3252,poj1850,poj1019,poj1942数论poj2635, poj3292,poj1845,poj2115计算方法(二分)poj3273,poj3258,poj1905,poj3122组合数学poj 3252题意:如果一个数是round number,则它的二进制表示中,0的个数大于等于1的个数。现在给一段数据范围[start, end]。求这一段数中round number的个数.(1 <= start < end <= 2,000,000,000)思路:暴力肯定会挂掉。因为是二进制表示,所以可以把结果“凑”出来。比如数据a用二进制表示有 阅读全文
posted @ 2012-03-28 21:42 AC_Von 阅读(787) 评论(2) 推荐(0) 编辑
摘要: 最大公约数L和最小公倍数G的关系:1、L%G == 0;2、设A, B的最大公约数为G, 最小公倍数为L,则:L/G = (A/G)*(B/G)3、gcd(A/G, B/G) = 1;题目:给出一对数A, B 的最大公约数G, 最小公倍数L。这里A, B有多种组合。,求A,B的一种组合使得A + B最小。如果没有则输出-1(SRM535 div2 500pt)(G <= 10^12, L<=10^12)猛的一看数据很大。不过用上前边的定理就可以解决了。领X = L/G;枚举A/G的值(不超过sqrt(X)),得到B/G的值。判断是否满足定理3。在所有满足的情况中找最小的ans = 阅读全文
posted @ 2012-03-26 23:51 AC_Von 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 动态规划背包问题poj1837,poj1276型如下表的简单DPpoj3267,poj1836,poj2533,poj3176,poj1080,poj1159,poj1260 背包问题poj 1837题意:有一个棍子,从中间挂上。左右都有若干钩子(共C个),给出每个钩子离中心的距离。现在有G个砝码,要求把所有的砝码都挂上,并保持棍子平衡,问共有多少种情况f[i][j] 表示前i个物品挂上以后偏移量为j时的情况数。。。最大偏移量为 15*20*25 = 7500,把j增加7500保证没有负数f[i][j + hook[k]*weights[i]] += f[i-1][j];f[G... 阅读全文
posted @ 2012-03-26 10:52 AC_Von 阅读(351) 评论(0) 推荐(1) 编辑
摘要: 内部赛遇到这道题SDUT_2369,map写TLE。话说校内OJ很奇芭的把队友的判成AC,把我的判成TLE。最后队长总结说这是人品问题。。。汗 =_=///赛后用hash写了一下,关键要处理冲突,用挂链法写的。最后自己看了一下,怎么看怎么像邻接表。或许可以把这个题改一下弄个不错的图论题,哈poj 1235 + ms, sdutoj 578 + ms。我们的服务器还是很给力的。渣代码:View Code 1 #include <vector> 2 #include <list> 3 #include <map> 4 #include <set> 5 阅读全文
posted @ 2012-03-24 20:06 AC_Von 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 简单搜索深度优先搜索poj2488,poj3083,poj3009,poj1321广度优先搜索poj2251,poj1426,poj3126,poj3087.poj3414poj 1606简单搜索技巧和剪枝poj2531,poj1416,poj2676,poj1129poj 2488好恶心的题。。。应该用深搜的,我用的bfs,wa掉,改成dfs,还是wa。。。注意向八个方向扩展的顺序,保证输出结果按字典序排列。int dir[8][2] = {{-2, -1},{-2, 1},{-1, -2},{-1, 2},{1, -2},{1, 2},{2, -1},{2, 1}};贡献无数wa,... 阅读全文
posted @ 2012-03-21 15:57 AC_Von 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 客观原因很多,但我不想找了。水平在那摆着。。。。以后做比赛尽量找一个安静的点环境,比如实验室。昨晚一题没做出来,今天回头又翻了翻300pt:其实是道水题,很水很水的题。。。先统计出L,R所能到达的最远位置。然后把'?'补给大的。如果dis(L) = dis(R) 则补给第一个出现的。View Code #include <vector>#include <list>#include <map>#include <set>#include <queue>#include <deque>#include < 阅读全文
posted @ 2012-03-21 15:47 AC_Von 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 做tc时被这个问题纠结住了,后来问了大牛,可以这样写。 1 class EvenRoute { 2 public: 3 struct node { 4 int x; 5 int y; 6 node(int a = 0, int b = 0) : x(a), y(b) {} 7 }; 8 9 static bool cmp(const node& c, const node& d) { //加static10 if(c.x == d.x) return c.y < d.y;11 ... 阅读全文
posted @ 2012-03-21 09:48 AC_Von 阅读(1441) 评论(0) 推荐(0) 编辑
摘要: 本菜把时间记错了,没赶上比赛T_T。这次的题貌似不是很简单,今天大体做了一下250pt:水题550pt:题意是给出A, B, X, 求Y,使得A*p + B*q的所有能取到的值X*p' + Y*q'都能取到。如果有无限种可能就return -1。当X同时被A, B整除时return -1,其他情况枚举y,同时满足 (A - y*q')%x == 0 和 (B - x*p')%y == 0.View Code 1 #include <vector> 2 #include <list> 3 #include <map> 4 #in 阅读全文
posted @ 2012-03-19 10:57 AC_Von 阅读(264) 评论(0) 推荐(0) 编辑
摘要: Miller-Rabin测试 + Pollard-rho因子分解。关于Pollard-rho的总结以后会写上,Miller-Tabin测试见:http://www.cnblogs.com/vongang/archive/2012/03/15/2398626.html#这里先mark一下。 阅读全文
posted @ 2012-03-15 20:25 AC_Von 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 好几天前看了算导上的Miller-Rabin素数测试算法,今天正好总结一下,写写笔记。 说Miller-Rabin测试以前先说两个比较高效的求a*b% n 和 ab %n 的函数,这里都是用到二进制思想,将b拆分成二进制,然后与a相加(相乘)// a * b % n//例如: b = 1011101那么a * b mod n = (a * 1000000 mod n + a * 10000 mod n + a * 1000 mod n + a * 100 mod n + a * 1 mod n) mod n ll mod_mul(ll a, ll b, ll n) { ll res... 阅读全文
posted @ 2012-03-15 20:16 AC_Von 阅读(15523) 评论(6) 推荐(9) 编辑
摘要: 据说使折叠法:int hashcode(int *v, int k) { int i, p = 0; for(i = 0; i < k; ++i) { p = ((p << 2) + (v[i] >> 4))^(v[i] << 10); } p %= MOD; if(p < 0) p += MOD; return p;}ELFhash UNIX系统处理字符串使用的哈希//UNIX系统使用的哈希int ELFhash(char *key) { unsigned long h = 0; while (*key) { ... 阅读全文
posted @ 2012-03-14 23:26 AC_Von 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 在网上看到的,不知道是哪位大牛原创。也没办法注明出处了,见谅见谅。。。void merge_sort(int l, int r) { int mid, p, q, i, j, len; if(l >= r) return ; mid = (l + r) >> 1; len = r - l + 1; p = l; q = mid + 1; j = l; merge_sort(l, mid); merge_sort(mid + 1, r); for(i = 0; i r) || (num[p] < num[q] && p <= mi... 阅读全文
posted @ 2012-03-14 16:18 AC_Von 阅读(1045) 评论(4) 推荐(1) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页