- 博客(35)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
转载 博弈知识汇总
博弈知识汇总有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜
2014-08-31 09:11:00 779
转载 【完全版】线段树
【完全版】线段树很早前写的那篇线段树专辑至今一直是本博客阅读点击量最大的一片文章,当时觉得挺自豪的,还去pku打广告,但是现在我自己都不太好意思去看那篇文章了,觉得当时的代码风格实在是太丑了,很多线段树的初学者可能就是看着这篇文章来练习的,如果不小心被我培养出了这么糟糕的风格,实在是过意不去,正好过几天又要给集训队讲解线段树,所以决定把这些题目重新写一遍,顺便把近年我接触到的一些新题更新上去~
2014-08-30 13:50:04 683
原创 啊哈 算法地址(仅供学习与参考)
【啊哈!算法】算法1:最快最简单的排序——桶排序【啊哈!算法】算法2:冒泡排序【啊哈!算法】算法3:八一八“快速排序”【啊哈!算法】算法4:队列——解密QQ号【啊哈!算法】算法5:解密回文——栈【啊哈!算法】算法6:只有五行的Floyd最短路算法【啊哈!算法】系列7:Dijkstra最短路算法【啊哈!算法】算法8:巧妙的邻接表(数组实现)【啊
2014-08-27 18:05:36 2828
转载 hdu 分类
分类一(详细): 分类二:基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、1093、1094、1095、1096、1097、1098、1106、1108、1157、1163、
2014-08-27 15:55:20 1672
原创 hdu 1166
只是纪念1A#include #include #include using namespace std;#define maxx 50050int bit[maxx],a[maxx];int n;int aa,bb;char s[10];int sum(int i){ int s=0; while (i>0){ s+=bit[i];
2014-08-26 18:41:25 800
原创 hdu 2112(最短路+字典树)
只想说 字典树必释放内存#include #include #include using namespace std;struct node { node *next[53]; int num; node (){ for(int i=0;i<=53;i++) next[i]=NULL; num=0; }}*root
2014-08-25 14:02:18 1004
原创 SGU 119 Beautiful People
#include #include #include using namespace std;#define maxx 100050struct node{ int a,b,id;}g[maxx];int root[maxx];int id[maxx];int len;void output(int x){ if(x==-1)return; outp
2014-08-21 16:36:36 952
转载 树的重心
还记得曾经提到过的树的“重心”吗?重心的定义是:以这个点为根,那么所有的子树(不算整个树自身)的大小都不超过整个树大小的一半。树的重心的一个的性质:树中所有点到某个点的距离和中,到重心的距离和是最小的;如果有两个重心,那么他们的距离和一样。这也是“道路修建”带来的启发。(证明:调整法)树的重心的另一个性质:把两个树通过一条边相连得到一个新
2014-08-20 20:34:59 831
原创 poj 3107 Godfather
刚看到这道题 啊 水水的树形dp啊TLE#include #include #include #include using namespace std;#define maxx 50050int N;int T;vector root[maxx];bool vis[maxx];int num[maxx];int dp[maxx];int dfs(int x
2014-08-20 20:27:06 801
原创 hdu 2054
#include #include using namespace std;int find_point(char a[]) //此函数是为了寻找字符数组中的'.'的位置,若有,则返回其位置,若无,则返回-1;{ int i,k=-1,len; len=strlen(a); for (i=0;i<len;i++) { if (a[i]=
2014-08-20 15:39:36 740
原创 poj 2250 Compromise
#include #include #include using namespace std;char a[35][105],b[35][105],c[35][105];int dp[105][105],mark[105][105],len1,len2,cnt;void LCS(){ int i,j; memset(dp,0,sizeof(dp)); me
2014-08-19 16:23:26 599
原创 poj 2378 Tree Cutting (树形dp)
看题目请戳我#include #include #include #include using namespace std;#define maxx 10050int num[maxx];//记录孩子的个数int dp[maxx];//记录把这个节点删除之后剩下的最大的连通度int sum;vector root[maxx];bool vis[maxx];int df
2014-08-19 15:52:44 1166
原创 light oj An Easy LCS
#include #include #define maxx 150char s1[maxx];char s2[maxx];int dp[maxx][maxx];char s[maxx][maxx][maxx];int main(){ int T; while( scanf("%d",&T)==1) { int cases=0;
2014-08-18 12:59:03 958
原创 poj 3181
#include #include #include using namespace std;const int maxn = 1100;__int64 a[maxn], b[maxn], inf;int n, k;int main(){ int i, j; inf = 1; for (i=0; i<18; i++) inf *= 10; scanf("%d %d"
2014-08-16 20:49:11 591
原创 poj 1733 Parity game【哈希+并查集】
这道题题意我不想说了,但是有一个条件必须的说,就是1-2其实是0-2这条边,3-4是2-4这条边,但是困惑了好久,其他就是哈希给他一个地址 ,然后把注解看下方 #include #include #define maxx 10001int par[maxx];int rank[maxx];void init(){ for(int i=0;i<=maxx;i++
2014-08-15 11:20:29 972
原创 hdu 1203 01 背包2
#include #include double dp[10001];double b[10001];int a[10001+10];int vis[10001+10];double Min (double a,double b){ return (a>b)?b:a;}int main(){ int n,m; while(scanf("%d%d",&n,&
2014-08-10 18:18:50 633
原创 poj 1004 Dividing
题目大意是,从输入六个数 ,第i个数代表价值为i的有几个,平均分给两个人 ,明摆着的背包问题,本来以为把他转化为01背包,但是TLe,后来发现是12万的平方还多,所以妥妥的TLE,后来发现这是一个完全背包问题,然后即纠结了 ,没学过啊 ,最后发现思想好i是蛮简单的,水水的A掉了,最后注意一下初始化问题和输入问题后就好了#include #include int a[10];int dp[
2014-08-09 19:26:21 860
转载 关于各种输入输出问题
关于ACM的输入输出(一)写给第一次参加现场赛的同学们一般来说ACM的现场赛会规定输入输出或者是文件输入标准输出也可能是文件输入文件输出如果没有规定的话那么一般就是标准的输入输出了那说一下输入输出的重定向一般用下面两种方法c++常用:#include ifstream filein("data.in"); // 定义一个文件输入流ofstream f
2014-08-08 18:33:27 990
原创 ural 1001 Reverse Root 水题
#include #include double v[1000000];int main(){ int i=0; while(scanf("%lf",&v[i++])!=EOF); i--;while(i--){ printf("%.4lf\n",sqrt(v[i])); }} 这道题只要控制好输出就好了,,反正代码是个很奇
2014-08-08 17:54:06 1200
原创 hdu 1575 Tr A
此题题目意思基本不用我说了;就是求矩阵A的迹; 题目#include #include int n,m;struct matrix//定义一个结构体二维数组(ps:存放矩阵){ int a[11][11];}origin,res;matrix multiply(matrix x,matrix y)//矩阵乘法{ m
2014-08-07 19:11:24 771
转载 __int64 与long long 的区别
//为了和DSP兼容,TSint64和TUint64设置成TSint40和TUint40一样的数 //结果VC中还是认为是32位的,显然不合适 //typedef signed long int TSint64; //typedef unsigned long int TUint64; //ANSI C中规定long long才能表示64位 //参
2014-08-06 10:09:30 818
转载 高精度算法
高 精 度 算 法#include #include #include #include int an,bn,fa=1,fb=1; /* 把an,bn,k设为全局变量,an纪录第一个高精度数组的位数,bn纪录第二个高精度数组的位数,k纪录输出结果的位数*/char b1[250], b2[250]; /*纪录需要计算的两个高精度数据 *
2014-08-01 14:11:52 760
istio-1.7.0-linux-amd64.tar.gz
2020-08-23
mysql连接数据库打包为jar包所需
2015-04-15
mybatis 子查询多个条件 ?
2016-12-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人