自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AC_Gibson的专栏

while(alive) ACing;

  • 博客(22)
  • 收藏
  • 关注

原创 博弈论(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)

一.  巴什博奕(Bash Game)  A和B一块报数,每人每次报最少1个,最多报4个,看谁先报到30。这应该是最古老的关于巴什博奕的游戏了吧。其实如果知道原理,这游戏一点运气成分都没有,只和先手后手有关,比如第一次报数,A报k个数,那么B报5-k个数,那么B报数之后问题就变为,A和B一块报数,看谁先报到25了,进而变为20,15,10,5,当到5的时候,不管A怎么报数,最后一个数肯定是

2014-11-30 18:37:55 17466 6

原创 HDU2955 Robberies 01背包

题目大意:Roy要抢劫银行,每抢一个银行都有一定的被抓概率,现在给你一个安全概率,以及每个银行的库存现金和抢劫该银行被抓的概率,问你在安全概率的情况下Roy最多可以抢劫多少现金。乍一看是背包问题,其实就是背包问题,只要稍微变形一下就行了,可以看出,本题中安全概率是背包的容量,每个银行的被抓概率是质量,但这样肯定是行不通的,因为我们要用dp[ i ]数组来纪录质量为i时的最大价值,那么质量显然要

2014-11-26 13:56:53 609

原创 HDU2602 Bone Collector 01背包问题 动态规划

01背包问题:有n件物品和

2014-11-24 11:10:43 681

原创 HDU2571 命运 动态规划

#include #include #include #define INF -999999999using namespace std;int main(){    int t,n,m,i,j;    int ans[25][1005],dp[25][1005];    cin>>t;    while(t--)    {        memse

2014-11-23 14:19:01 539

原创 HDU2050 折线分割平面 动态规划

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2050 分析:首先我们来看一直线分割平面,直线分割平面时,每增加n个结点,就会增加n+1个平面,我们用f(n)来表示n条直线最多分割出的平面数,那么就有f(n)=f(n-1)+n;其中f(1)=2;即每新加一条直线,都使他和原先所有的直线都有交点,原先有n-1条直线,那么新加一条直线后,就会

2014-11-23 11:10:47 1191

原创 HDU2049 不容易系列之(4)——考新郎 错排问题

错排问题。先从n对新人中找出n-m对找对新娘的人,然后把剩下的m对错位排列一下,然后乘法原理把两个数相乘即可。n和m的范围不大,打表即可。#include #include using namespace std;int main(){ int t,n,m,i,j; long long f[25],c[25][25]={{0,1}}; f[0]=1;

2014-11-22 11:05:12 530

原创 HDU2680 Choose the best route 单源最短路径

单源最短路径。和HDU2066差不多,

2014-11-21 16:19:29 609

原创 HDU2066 一个人的旅行 单源最短路径

#include #include #define MAX 1010#define INF 999999999using namespace std;bool s[MAX];int ans[MAX][MAX],dist[MAX];void Dijkstra(int n,int v){    int i,j,u,temp;    for(i=1;i   

2014-11-21 15:17:34 600

原创 学习资料汇总(网址汇总)

本帖持续更新中....发现比较不错的就贴过来了(1)http://classfoo.com  语言资料库    里面很多东西挺不错的,没事可以去看看,推荐几个个人认为比较不错的:    算法库:http://classfoo.com/ccby/article/tZTzs      std::vector:  http://classfoo.com/ccby/article/jn

2014-11-21 14:07:50 1290

原创 HDU 2048 神、上帝以及老天爷 错排问题

错位排列数D[n]=n!【1-1/1!+1/2!-......+(-1)^n*1/n!】;可以知道D[n]是满需以下两条的:(1)D[1]=0;D[2]=1;即只有一个人的情况,他的错排数为0,两个人时只有一种错排可能。(2)D[n]=(n-1)(D[n-1]+D[n-2]);对于n>2的情况可以分两步来考虑:第一步,我们把第一个位置上的数放到剩下的n-1个位置当中的一个,

2014-11-21 13:04:18 577

原创 HDU 1051 Wooden Sticks 贪心

题目大意:#include #include #include #define MAX 5050using namespace std;typedef struct node{    int l,w,flag;}Stick;Stick wood[MAX];int cmp(const Stick &a,const Stick &b){    if(

2014-11-21 12:39:00 455

原创 HDU1874 畅通工程续 单源最短路径

#include #include #define MAX 999999999using namespace std;int s[210];int dist[210],ans[210][210];void Dijkstra(int n,int v){    int i,j,u,temp;    for(i=0;i    {        dist[i]=

2014-11-19 20:29:44 636

原创 HDU2527 Safe Or Unsafe 哈夫曼编码

题目大意就是给你一个字符串,把每个字母出现的

2014-11-15 14:07:52 712

原创 HDU2112 HDU Today 单源最短路

#include #include #include #include #include #include #define INF 999999999#define MAX 200using namespace std;int s[MAX],n[MAX];int dist[MAX],ans[MAX][MAX];void Dijkstra(int n,in

2014-11-15 12:36:50 539

原创 单源最短路径问题 Dijkstra算法

算法#define INF 999999999#define MAX 10005bool s[MAX];int dist[MAX],ans[MAX][MAX];void Dijkstra(int v,int n){    int newdist,temp,u,i,j;    for(i=1;i    {        dist[i]=ans[v][i];

2014-11-12 14:07:29 575

原创 HDU2139 Calculate the formula

纯数学题#include #include using namespace std;int main(){    long long n;    while(cin>>n)      printf("%lld\n",n*(n+1)*(n+2)/6);    return 0;}

2014-11-10 09:42:14 983 1

原创 HDU2137 circumgyrate the string 模拟题

circumgyrate the string#include #include #include using namespace std;int main(){    char str[100];    int n,i,j;    while(scanf("%s%d",str,&n)!=-1)    {        if(n>=0) n%=8

2014-11-07 21:00:32 474

原创 HDU2136 Largest prime factor

给出#include #include const int MAX=1e6;using namespace std;long long prime[MAX];int main(){    long long num,i,j,n;    memset(prime,0,sizeof(prime));    prime[1]=0;    num=0;   

2014-11-06 12:56:11 361

原创 HDU2135 Rolling table 模拟题

题目大意:#include #include using namespace std;int main(){    char ans[12][12];    int m,n,i,j;    while(cin>>n>>m)    {        for(i=0;i            scanf("%s",ans[i]);        if(m

2014-11-06 10:02:07 624

原创 HDU2133 What day is it 模拟题

计算#include #include using namespace std;int main(){    int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};    int month1[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};    int y,m,d,da

2014-11-06 08:40:20 495

原创 双向链表的有关操作(创建,遍历,插入,删除)

#include #include #include using namespace std;typedef struct node{    int ans;    struct node *prior,*next;}Node,*DLinklist;//初始化头结点DLinklist init(DLinklist h){    h=(Node *)m

2014-11-04 19:34:07 2989

原创 HDU1025 Constructing Roads In JGShining's Kingdom

#include #include #include #define MAX 500005using namespace std;int ans[MAX];int stack[MAX];int LIS(int temp,int len){    int left=1,right=len;    int mid;    while(left    {

2014-11-03 13:09:11 502

空空如也

空空如也

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

TA关注的人

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