- 博客(50)
- 收藏
- 关注
原创 算法题中模拟退火算法的两种实现(POJ 1379、SCU 4369)
一、step *= 降火速度二、当某次随机出来所有方向的点都没有比当前点更接近正解时,step *= 降火速度// 一、poj 1379#include #include #include #include #include using namespace std;const int N = 11111, P = 15, D = 30; // P为随机出来的点数,D为
2014-10-30 20:19:24 528
转载 [专题学习][计算几何]
这两天在学习计算几何,随便说说自己的学习过程吧。 基本的叉积、点积和凸包等东西就不多说什么了,网上一搜一大堆,切一些题目基本熟悉了就差不多了。 一些基本的题目可以自己搜索,比如这个blog:http://blog.sina.com.cn/s/blog_49c5866c0100f3om.html 接下来,研究了半平面交,思想方法看07年朱泽园的国家队论文,模板代码参考自
2014-08-31 22:47:33 482
原创 poj 1903 meet in the middle部分枚举思想
把zifuchuan时间复杂度为:O(2^(n/2) * log n)#include #include using namespace std;const int N = 1000086, M = 33;char s[N];int st[M];map Map;inline int count_bits(int x){ return __builtin_popco
2014-08-22 20:33:21 534
转载 计算几何题目推荐
把下面的东东都看看,题目刷刷应该就差不多了吧哈。。哈哈。。其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中。之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途(例如本人的专业,GIS)。以后若有机会,我会补充、完善这个列表。计算几何题的特点与做题要领:1.大部分不会很难,少
2014-08-15 09:48:27 751
转载 计算几何中的精度问题
原文:计算几何头疼的地方一般在于代码量大和精度问题,代码量问题只要平时注意积累模板一般就不成问题了。精度问题则不好说,有时候一个精度问题就可能成为一道题的瓶颈,简直“画龙点睛”。这些年的题目基本是朝着越来越不卡精度的方向发展了,但是也不乏一些%^&%题#$%$^,另外有些常识不管题目卡不卡,都是应该知道的。今天我就开膛回顾下见过且还有印象的精度问题,由于本人见识和记忆均有限,望
2014-06-06 13:40:16 386
原创 UVa 11183 Teen Girl Squad 朱刘算法求固定根最小树形图
题目链接:分析:题目给出固定根,要求最小树形图,可使用朱刘算法。代码如下:// uva 11183#include #include const int N = 1111;const int M = 44444;const int inf = 0x7fffffff;int pre[N], ID[N], vis[N], In[N], tot;stru
2014-04-06 16:22:39 568
原创 SCU 4110 / POJ 3687 反向拓扑排序 + 优先队列
题目链接:SCU 4110POJ 3687分析:拓扑排序,注意根据题的要求,要先保证1号球最轻,如果我们由轻的向重的连边,然后我们依次有小到大每次把重量分给一个入度为0的点,那么在拓扑时我们面对多个入度为0的点,我们不知道该把最轻的分给谁才能以最快的速度找到1号(使1号入度为0),并把当前最轻的分给1号。所以我们要由重的向轻的连边,然后从大到小每次把一个重量分给一个入度为0
2014-03-29 21:06:24 512
转载 算法复杂度渐近符号总结
本文根据算法导论第三章总结,但其中加入了我对本章的一些补充,并且配合算法导论习题进行讲解。相信本文会让你对渐近记号有更深入地理解。一、定义介绍对于某个比较简单的算法,我们有时候确实能够精确地分析出算法的复杂度,比如算法复杂度为5n^2+10n+6,但是事实上并不需要这样,因为当n足够大时,可以忽略掉低阶项和最高次项的系数,因此就引出了“渐近复杂度”,并且用“渐近记号
2014-03-10 00:01:25 1300
原创 hdu2578 Dating with girls(1) (二分 || map)
题目链接:点击打开链接在这题中使用二分查找比使用map查找更快二分查找法代码如下(625ms):#include #include using namespace std;const int N = 111111;int a[N];int main(){ int t, n, *m, k, cnt, f; scanf("%d", &t);
2013-12-11 23:02:23 568 1
转载 C语言运算符优先级和口诀
一共有十五个优先级: 1 () [] . ->2 ! ~ -(负号) ++ -- &(取变量地址)* (type)(强制类型) sizeof 3 * / %4 + - 5 >> 6 > >= 7 == != 8 & 9 ^ 10 | 11 &&12 ||13 ?
2013-11-27 20:49:09 441
原创 hdu 1251 统计难题(字典树)
题目链接:hdu 1251#include #include struct trie{ trie *next[26];//假设只有26个小写字母 int ch; trie(){//用于初始化的构造函数 memset(next, 0, sizeof(next)); ch = 1; }} *root;void insert(char *s){ trie *
2013-11-24 10:56:57 564
原创 hdu 2544 最短路 (Dijstra + Heap优化)
HDU 2544#include #include #include using namespace std;const int maxn = 11111;const int inf = (int)1e9;struct Edge{ int v, next; int cost; Edge() {} Edge(int a, int b)
2013-11-08 21:40:25 427
转载 深入理解C/C++ [Deep C (and C++)]
作者:Rockics来源:http://blog.csdn.net/rockics/article/details/7015067说明:译自Deep C (and C++) by Olve Maudal and Jon Jagger,本身半桶水不到,如果哪位网友发现有错,留言指出吧:) 编程是困难的,正确的使用C/C++编程尤其困难。确实,不管是
2013-11-07 12:51:43 630
原创 CodeBlocks下配置wxWidgets
根据以下此文在CodeBlocks上配置好wxWidgets,虽是win7下的配置方法,但在win8下也适用亲测可用。配置教程:http://cnblog.ecsquid.com/?p=727
2013-11-02 23:01:38 449
原创 NYIST 143 第几是谁?(逆康托展开)
康拓展开见:http://blog.csdn.net/vikotse/article/details/12795759维基百科介绍见:http://zh.wikipedia.org/zh/%E5%BA%B7%E6%89%98%E5%B1%95%E5%BC%80关于逆康托展开:既然康托展开是一个双射,那么一定可以通过康托展开值求出原排列,即可以求出n的全排列中第x大排列。
2013-10-16 22:53:09 589
原创 NYIST 139 我排第几个(康托展开)
关于康拓展开:公式X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0!其中,a[i]为整数,并且0a[i]的意义参见举例中的解释部分举例例如,3 5 7 4 1 2 9 6 8 展开为 98884。因为X=2*8!+3*7!+4*6!+2*5!+0*4!+0*3!+2*2!+0*1!+0*
2013-10-16 22:08:47 571
转载 各种字符串Hash函数比较
原文地址:https://www.byvoid.com/blog/string-hash-compare/常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash
2013-10-13 18:41:11 468
原创 POJ 1200 Crazy Search (RKhash)
题目链接:http://poj.org/problem?id=1200#include #include const int N = 16666666;bool hash[16666666];int letr[26];char s[N];int pow(int a, int b){ int r = 1, base = a; while(b) {
2013-10-13 17:39:10 709
原创 POJ 2503 Babelfish
题目链接:http://poj.org/problem?id=2503#include #include #define MAXSIZE 150000//#define maxn 30#define kind 20const int MOD = 131101; //一个大质数struct HASH{ char pre[kind], now[kind];
2013-10-13 01:24:33 416
原创 HDU 1496 Equations
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1496#include #include int hash[2001000], p[101];int main( ){ int a, b, c, d; for(int i=1; i<101; i++) p[i] = i*i; while(~scanf(
2013-10-09 23:49:13 368
原创 Light OJ 1096 nth Term (矩阵快速幂)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1096递推矩阵如下:代码如下:#include #include const int mod = 10007;const int matSize = 5;int n, a, b, c;struct Mat{ int
2013-09-13 17:38:31 576
原创 HDU 4686 Arc of Dream (矩阵快速幂)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4686根据题意可得:递推矩阵如下:代码如下:#include #include const int mod = 1000000007;const int matSize = 5;long long n, a0, ax, ay, b0,
2013-09-13 10:22:38 428
原创 POJ 3070 Fibonacci (矩阵快速幂基础题)
题目链接:http://poj.org/problem?id=3070创建如下矩阵求解递推式Fn项的值:代码如下:#include #include const int mod = 10000;const int matSize = 2;struct Mat{ int val[matSize][matSize]; void init
2013-09-11 22:50:43 597
原创 HDU 1520 Anniversary party (基础树形DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520#include #include #include using namespace std;const int N = 6666;int v[N], fa[N], dp[N][2];vector vec[N];void dfs(int rt){ int l
2013-08-16 17:08:34 414
原创 HDU 4681 String (最长公共子序列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681#include #include #include using namespace std;#define fi first#define se secondconst int N = 1111;char a[N], b[N], c[N];int dp1[N][N], d
2013-08-16 12:41:33 465
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人