自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 poj1837--dp

动态规划的思想主要是当前状态是由上一个状态决定的。每向天平中挂上一个重物,天平的状态就会改变,而这个状态可以由若干前一状态决定的。  这里的dp[i][j]表示挂上i个重物后平衡度为j。j大于0说明右端比左端重j,j小于0反之。距离c[i]的范围是-15~15,钩码重量的范围是1~25,钩码数量最大是20,因此j最大值为15*20*25=7500。但其他博客上提出左端的时候j会出现负数...

2018-09-23 20:16:03 231

原创 poj1159

【转】本文来自 庞老板 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/code_pang/article/details/8759600?utm_source=copy动态规划法。设字符串为S,长度为L,d[i][j]表示以第i个字符为首,第j个字符为尾的字符串构成回文最少需要添加的字符个数,i和j的初值分别为1、L。 如果S[i] == S[j],即字符...

2018-09-22 20:00:26 402

原创 poj1067维佐夫博弈

转自百度:威佐夫博弈(Wythoff's game):有两堆各若干个物品,两个人轮流从某一堆取至少一个或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。这种情况下是颇为复杂的。我们用(a[k],b[k])(a[k] ≤ b[k] ,k=0,1,2,...,n)(表示两堆物品的数量并称其为局势,如果甲面对(0,0),那么甲已经输了,这种局势我们称为奇异局势。前几个奇...

2018-09-18 19:13:00 209

转载 约瑟夫环

原文copy:http://book.51cto.com/art/201403/433941.htm

2018-09-13 18:59:02 157

原创 poj 1144 求割点

详细见文章:https://blog.csdn.net/wmn_wmn/article/details/7893157再补一篇 讲解tarjan算法:作者:Treant出处:http://www.cnblogs.com/en-heng/

2018-09-09 09:52:46 178

原创 字典树&toj2935

字典树:又称单词查找树,Trie树。性质:根节点不包含字符,除根节点外每一个节点都只包含一个字符; 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串; 每个节点的所有子节点包含的字符都不相同。百度上的代码:#define MAX 26//字符集大小typedef struct TrieNode{ int nCount;//记录该字符出现次数 st...

2018-09-08 11:02:21 106

原创 MongoDB mark

show dbs:查看全部数据库use mongo:用某一数据库db.paper.find().pretty():查找 中间可以加key的限定db.collection.find(query, {_id:0, title: 1, by: 1})  限定出现的keydb.paper.find().count() 统计总数 ...

2018-08-02 00:02:33 240

原创 十字链表的创建

#include <stdio.h>#include <stdlib.h>typedef int ElemType;typedef int Status;typedef struct OLNode{ int col, row; ElemType value; struct OLNode *down, *right;}OLNode, *OL...

2018-04-15 22:14:33 1010

转载 poj2488

以下是转载内容 侵删 只是学习记录一下#include#include #include using namespacestd;int cases, p, q, i;void dfs(int x,int y, int num);//num用来记录是否全部走过即路径长度const int MAX_N =27;//字典序最多多

2017-11-09 22:47:23 238

原创 poj1017

////  main.cpp//  1017////  Created by Jasmine wang on 05/11/2017.//  Copyright © 2017 Jasmine wang. All rights reserved.//#include using namespacestd;int m

2017-11-07 08:17:16 173

原创 poj1657

////  main.cpp//  1657////  Created by Jasmine wang on 05/11/2017.//  Copyright © 2017 Jasmine wang. All rights reserved.//#include #include using namespace

2017-11-05 22:33:02 249

原创 pos1028 栈

int main(){    stack s1,s2;    string cmd,URL;    s1.push("http://www.acm.org/");    while(cin>>cmd && a[0]!='Q')

2017-11-04 22:37:54 219

原创 pos1007

NOT AC YET

2017-11-03 22:48:09 191

原创 poj1006-枚举

#includeusing namespacestd;int main(){    int p, e, i, d, k;    int ans, no;    while(cin>>p>>e>>i>>d)    {        ++ no;        if(p==-1 && e==-1 && i==-1 && d==-1

2017-09-25 21:58:41 401

原创 poj1061-exgcd

网上找答案 发现这道题需要用到exgcd的知识 先把百度的gcd exgcd贴上来:gcd函数就是用来求(a,b)的最大公约数的。gcd函数的基本性质:gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b|)一个有用的公式:gcd(a,b)=gcd(b,a mod b)C++语言实现123

2017-09-24 22:04:58 227

转载 素数打表

希望得到高效的素数表 以下是粘贴别人的 自己运行了一下 大概知道流程 但还是没有太看懂#include#include#include#include#includeusing namespace std;#define M 100bool visit[10100000];int prime[10000000];void table(){ memset(visit,

2017-09-17 21:33:08 300

原创 poj2739

#include #include#define N 10005#define MAXN 2000using namespacestd;int input, ans;int prim[MAXN]={    2,3,5,7,11,13,17,19,23,29,    31,37,41,43,47,53,59,61,67,71,

2017-09-16 22:34:22 238

原创 poj3624

典型的01背包问题 前面说过了但是有超内存的情况 所以换成了只涉及价值的一位数组哎呀#include using namespacestd;int N, M;int w[3500], v[3500];//int dp[3500][12900];int bag[12900];int main(int argc,

2017-09-09 21:59:05 431

原创 神奇的口袋

原题:有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。一个背包问题 依然是两种解决办法 递推和动归

2017-09-09 21:16:14 234

原创 poj1088

////  main.cpp//  poj1088////  Created by Jasmine wang on 05/09/2017.//  Copyright © 2017 Jasmine wang. All rights reserved.//这道题是典型的递归 事实上我用的递推。郭老师给出了两种方法,但首先都是确定长度函数l[][]

2017-09-06 21:10:54 248

原创 最佳加法表达式

//子问题:假定数字串长度是n将一个加号添加在第i个数字后整个式子的最小值等于在前i个数中插入m-1个加号所能形成的最小值加上第i+1到第n个数字所组成的数的值// v(m,n)表示表达式的最小值//m=0 n个数字的值//n//v(m,n)=min(v(m-1,i)+num(i+1,n))#include #include usin

2017-09-02 21:59:01 665

原创 poj1458

还是一道动态规划 整体思路还是分成子问题 用表格的方法看起来比较清晰如果第i-1和第j-1项相等 则maxlen=maxlen[i-1][j-1]+1 这是很显然的如果不相等 那么(i,j)等于该项左边数字和上面数字取最大值(maxlen[i][j-1],maxlen[i-1][j])在mooc中老师证明了一下一定等于两个数中的一个 这里就不写下来了 仔细想一想也可以想出来了

2017-09-01 21:47:44 494

原创 最大上升子序列

运用递归的方法 将整个问题分成一堆子问题即转化为以第i(i状态就是n个数 储存长度的数组是maxlen[MAX] 转化方程是如果a[j]啊 搞懂了 因为同一个i中循环了不同的j 总要取一个最大值作为当前i的长度 果然还是手写一遍比较好#include #include #include using namespacestd;int mai

2017-09-01 20:49:13 211

原创 poj1163

又一个动态规划 在递归的时候还是出现了问题 对于maxsum和max产生了混淆 还是要把整个程序在纸上写出来才能知道全部过程 是从三角形顶端一直往下走再返回的过程#include #include using namespacestd;int n, dp[105][105];int Maxsum[105][105];//这里是动态规划int ma

2017-08-31 21:38:10 171

原创 dp-最长公共子序列

比较简单的动态规划 但是输入的时候出现了问题不熟悉c++的输入 还是字符串没有搞懂 可怕#include using namespace std;int main(int argc, const char * argv[]) {    int i,j,n,m,dp[1005][1005];    char s[1005],t[1005];

2017-08-31 18:55:42 242

原创 poj3069

贪心算法 从第一个点开始,先找到半径内的最远点作为标记,再从标记点开始找到标记点为圆心的圆内的最远点,这样记为1次;重复上述步骤直到i>=npoj似乎不能识别sort 哎,,#include using namespacestd;int main(int argc,const char * argv[]) {    int r,n,i,ans =

2017-08-29 21:54:51 279

原创 poj2386 DFS

深度优先搜索核心的dfs程序就是每遇到一个W首先将它变为.然后扩展到周围8个位置坐标检验是否为W 若为W就继续搜索 直至周围都是. 算作一次dfs 最后统计dfs的次数需要注意的是输入 可以直接输入字符串;或者按照字符输入,但要在每一行末尾接收一个回车#include int N,M;char field[200][200];/*void dfs(i

2017-08-29 21:10:14 269

空空如也

空空如也

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

TA关注的人

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