自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lemondinosaur的博客

转圈圈 不停转圈圈 然后摔倒

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

原创 #搜索#(ssl 1776)游乐场

据新闻报道,Orz教主在太平洋中央建了一个大游乐园,其中有许多小岛,每个小岛上有且仅有一个游乐设施,有的小岛与小岛之间有海底隧道连接,而有的没有,一个游乐设施对一个人只开放一次,花的钱与得到的快乐值成正比。一开始,你可以选择被空投到任意一个小岛。当你想离开游乐园时,你可以打电话叫飞机来接,但不能再次被空投。 fhn非常有钱,他想在游乐园里得到最大的快乐值。 而czm则比较穷,他的愿望只是玩...

2017-12-30 16:05:59 244

原创 #最大公约数,矩阵乘法#洛谷 1306 斐波那契公约数

分析:求两个斐波那契数的最大公约数在网上搜到了解法:gcd(f[n],f[m])=f[gcd(n,m)]于是程序就出来了#include < algorithm>using namespace std;int a,b,n,f[2];int main(){ scanf("%d%d",&a,&b);

2017-12-30 13:48:09 260

原创 #广搜#(ssl 1104 USACO 2.1 城堡)城堡

http://blog.csdn.net/sugar_free_mint/article/details/78756925 如果广搜不会,先看上面的网站 其实就是升级版,删掉一堵墙,使房间变大。 不说什么,先看代码。#include < cstdio> #include < algorithm> #define go f[i][j] #define tu...

2017-12-30 12:48:28 203

原创 #搜索#(ssl 1758)连通图

分析既然是连通图,那么最多能连通的点数为点数。#include < cstdio> #include < algorithm>using namespace std;bool g[101][101],v[101]; int n,x,y,s,ans;void dfs(int i){ v[i]=1; for (int j=1;j<=...

2017-12-30 12:46:15 177

原创 #深搜,广搜#ssl 1759 求连通分量

我的理解:求一个图最多能连通多少个点 深搜: #include < cstdio > #include < algorithm >using namespace std;bool g[101][101],v[101]; int n,x,y,s,ans;void dfs(int i){ v[i]=1; for (int j=1;j<...

2017-12-30 12:39:50 179

原创 #杨辉三角,模拟#洛谷 1498 南蛮图腾

分析:我们会发现:长得好像杨辉三角的奇偶性f[i][j]=f[i-1][j-1]+f[i-1][j]这个算法是毋容置疑的。但是组合数会很大的!因为我们只考虑奇偶性。so f[i][j]=f[i-1][j-1]^f[i-1][j]^表示异或1^1=0 0^1=1 1^0=1 0^0=0输出靠理解#include <...

2017-12-30 11:22:55 401

原创 #深搜#ssl 1217 删边

题意读入一个无向连通图,输出最多能删除掉多少条边,使这个图仍然连通。首先,深搜代码#include <cstdio>#include <algorithm>using namespace std;bool g[101][101],v[101]; int n,m,x,y,s;void dfs(int i){ v[i]=1; fo...

2017-12-29 20:58:28 204

原创 信息学奥赛一本通 1300 鸡蛋的硬度#线性动态规划#

鸡蛋的硬度题目描述求最坏情况的最少情况=min(max()) 最大值最小!so分析开始了来个图就可以了。状态转移方程f[i][j]=min(f[i][j],max(f[k-1][j-1],f[n-k][j]));代码如下#include < cstdio >#include < algor

2017-12-29 19:51:18 798

原创 (信息学奥赛一本通 1305 1481)Maximum sum#线性动态规划#

题意状态转移方程f[i]=max(f1[i-1]+f2[i])#include <cstdio>#include <climits>#include <cctype>#include <algorithm>using namespace std;int t,f1[50002],f2[50002],a[50002];inline...

2017-12-28 17:25:47 860

原创 (信息学奥赛一本通 1303 8467)鸣人的影分身#线性动态规划#

题意:把n分成k份(可以为0)求有多少种不同的分法首先状态转移方程f[i][j]为把i分成j份的方案数如果j=1那么f[i][j]=1因为分成一份只有一种方法如果i=1或i=0那么f[i][j]=1因为分1或分0都只有一种方法如果i<j那么f[i][j]=f[i][i]因为没得分了多的每份为0否则f[i][j]=f[i][j-1]+f[i-j][j]等于把i分成j-1...

2017-12-28 17:21:36 662

原创 (信息学奥赛一本通 1302 8464)股票买卖#线性动态规划#

题意:找出四个数,ai,aj,ak,al。i<=j<=k<=l 并使(aj-ai)+(al-ak)最大。分析:从头找两个数最大的方案,从尾找两个数最大的方案,再找到一个点求出最大值。状态转移方程ans=max(ans,f[i]+g[i]);求出两个和minx=min(minx,a[i]);//找出最小值f[i]=max(f[i-1],a[i]-minx);//...

2017-12-28 17:08:06 1324

原创 (信息学奥赛一本通 1301)大盗阿福#线性动态规划#

题意:在n个数里挑若干个,它们不能相邻,使和最大。首先,没有时间等限制(只有不能相邻这种条件)状态转移方程:f[n]表示在n……的最大值从相邻这方面可以看出,如果要a[i]就不能要a[i-1]和a[i+1]。sof[i]=max(f[i-2]+a[i],f[i-1])#include <cstdio>#include <algorithm>usi...

2017-12-23 16:27:38 889

原创 (信息学奥赛一本通 1304 洛谷 1025)数的划分#线性动态规划#

题意:把n分成k份,有多少种不同的方法。当n小的时候深搜是0k的。(6<=n<=200)所以说要使用动态规划状态转移方程ans[k][n]表示把n分成k份的方案数。 ans[0][0]=1;ans[i][j]=ans[i-1][j-1]+ans[i][j-i];=至少有一个盒子只有一个小球+没有一个盒子只有一个小球至少有一个盒子只有一个小球:因为盒子相同,所...

2017-12-23 15:35:15 693

原创 (信息学奥赛一本通 1299)糖果#线性动态规划#

题意:给出n个数,找出若干个数,使它们的和为k的倍数,并输出最大的数。状态转移方程:f[i][j]表示前i个数%k=j的总数。f[i][j]=max(f[i-1][j],f[i-1][tmp]+a[i]);tmp=(k+j-a[i]%k)%k(避免负数)第一种情况不选第i个数,第二种情况为选这个数时的最优值(当然要满足tmp=0或者f[i-1][tmp]有最优值)#incl...

2017-12-23 14:56:31 2255

原创 (信息学奥赛一本通 1298)计算字符串距离#线性动态规划#

设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:1、删除一个字符;2、插入一个字符;3、将一个字符改为另一个字符;状态转移方程:f[i][j]表示ai与bj的最优编辑距离。首先f[i][0]和f[0][i]都初始化为i,插入和删除的步数如果a[i]=b[j]那么f[i][j]=f[i-1][j-1](不动)否则f[...

2017-12-23 10:14:46 994

原创 #堆#(洛谷 3378)堆

操作1: 1 x 表示将x插入到堆中操作2: 2 输出该小根堆内的最小数操作3: 3 删除该小根堆内的最小数分析:运用了堆的思想。对于蒟蒻来说优先队列真是个好东西。#include <cstdio>#include <queue>using namespace std;priority_queue<int>q;int n;int m...

2017-12-23 09:57:58 276

原创 最长公共子序列(信息学奥赛一本通1297 ssl 1463)#线性动态规划#

【题目描述】我们称序列Z=<z1,z2,...,zk>Z=<z1,z2,...,zk>是序列X=<x1,x2,...,xm>X=<x1,x2,...,xm>的子序列当且仅当存在严格上升的序列<i1,i2,...,ik><i1,i2,...,ik>,使得对j=1,2,...,k,有xij=zjxij=zj。比如Z=<a...

2017-12-23 09:46:06 397

原创 (ssl 1202 洛谷 1434)滑雪(动态规划)

http://blog.csdn.net/sugar_free_mint/article/details/78877155上一次我们讲了如何用记忆化搜索来做滑雪。这一次我们要用动态规划来做这道题。首先第一步,如何让数据有序。排序,排序。用一个结构体把值和坐标记录下来。然后最长下降子序列。状态转移方程:(f[i]表示从高处到i处的最长距离,初始化为一)2<=i&lt...

2017-12-23 08:43:23 532 1

原创 (ssl 1202 洛谷1434)滑雪(记忆化搜索)

题意:求最长的一条滑坡(递减)因为它是没有顺序的,所以就用记忆化搜索(避免覆盖)#include <cstdio>using namespace std;int f[101][101],a[101][101],r,c,ans;const int dx[4]={1,0,-1,0},dy[4]={0,-1,0,1};int see(int x,int y){ int...

2017-12-22 21:59:09 216

原创 (洛谷 1108)低价购买#线性动态规划#

题目描述“低价购买”这条建议是在奶牛股票市场取得成功的一半规则。要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买;再低价购买”。每次你购买一支股票,你必须用低于你上次购买它的价格购买它。买的次数越多越好!你的目标是在遵循以上建议的前提下,求你最多能购买股票的次数。你将被给出一段时间内一支股票每天的出售价(2^16范围内的正整数),你可以选择在哪些天购买这支股票。每次购买都必须遵循...

2017-12-22 21:49:58 393

原创 (洛谷 2758)编辑距离#线性动态规划#

题目描述设A和B是两个字符串。我们要用最少的字符操作次数,将字符串A转换为字符串B。这里所说的字符操作共有三种:1、删除一个字符;2、插入一个字符;3、将一个字符改为另一个字符;容易看出:状态转移方程当s1[i]<>s2[i]那么f[i][j]=min(min(f[i-1][j],f[i][j-1]),f[i-1][j-1])+1;步数增加否则f[i][j...

2017-12-22 21:42:50 230

原创 (洛谷 1865)……

题意:区间质数个数一看范围……虽然蛮大的,不过筛选法is ok#include <cstdio>#include <cstring>using namespace std;bool f[1000001],v[1000001]; int n,m;int main(){ memset(f,1,sizeof(f)); for (int i=2;i&...

2017-12-22 21:31:27 288

原创 (洛谷 1372)又是毕业季I

题目描述为了把毕业晚会办得更好,老师想要挑出默契程度最大的k个人参与毕业晚会彩排。可是如何挑呢?老师列出全班同学的号数1,2,……,n,并且相信k个人的默契程度便是他们的最大公约数(这不是迷信哦~)。这可难为了他,请你帮帮忙吧!分析:设x为最大的默契值,那么有x,2x,3x……kx被选中,所以(kx<=n)so#include <cstdio>using nam...

2017-12-22 21:28:05 339

原创 (洛谷 1004 ssl 1010)方格取数#坐标型动态规划#

题意某人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大。多阶段dp状态转移方程f[x1][y1][x2][y2]表示第一条走到(x1,y1)和第二条走到(x2,y2)的数的和的最大值#include <cstdio>#include <algorithm>using namespace std;int n,x,y,t,a[11][...

2017-12-22 21:22:43 215

原创 (洛谷 1854 ssl 1626)花店橱窗布置#线性动态规划#

题意:为了取得最佳的美学效果,必须在保持花束顺序的前提下,使花的摆放取得最大的美学值,如果具有最大美学值的摆放方式不止一种,则输出任何一种方案即可。分析:有序说明用动态规划是可行的状态转移方程 f[i][j]表示前j个花瓶放了i朵花,k在i-1到j-1之间f[i][j]=max(f[i][j],f[i-1][k]+a[i][j]);当然要保存方案。#include <cstd...

2017-12-22 21:11:32 265

原创 (ssl 1203 洛谷 1281)书的复制#线性动态规划#

题意:把m本书分给k个人,求出一种方案,使复制时间最短(最大)(使后面的人多抄)典型的最大值最小dp状态转移方程设f[i][j]为前i本书给j个人抄写的最短时间f[i][j]=min(f[i][j],max(f[j][k-1],(k=j+1 to i)∑A[k]))#include <cstdio>#include <algorithm>usi...

2017-12-22 20:02:32 321

原创 (洛谷 1090 ssl 1040)合并果子

题目描述多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为1,并且已知果子的种类数和每种果子的数目,设计出合并的次序方案,使多多耗费的体力最少,并输出这个最小的体力耗费值。分析:例如1 2 9 1和2合并成3 3和9合并成12 3+12为最小耗费值于是就想到了一种朴素算法,快排一次...

2017-12-22 19:33:50 418

原创 (洛谷 1164)小A点菜#01背包#

题目描述不过uim由于买了一些辅(e)辅(ro)书,口袋里只剩M元(M<=10000)。餐馆虽低端,但是菜品种类不少,有N种(N<=100),第i种卖ai元(ai<=1000)。由于是很低端的餐馆,所以每种菜只有一份。小A奉行“不把钱吃光不罢休”,所以他点单一定刚好吧uim身上所有钱花完。他想知道有多少种点菜方法。由于小A肚子太饿,所以最多只能等待1秒。分析:...

2017-12-16 11:37:25 216

原创 #递推#(洛谷 1255)数楼梯

楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。分析:递推一下都知道求斐波那契数列。#include <cstdio>using namespace std;const int maxn=5000;int a[2][maxn+1],n,p=1,q=0;void print(int q){ int j=1; wh...

2017-12-16 11:32:49 323

原创 #广搜#(洛谷 1135)奇怪的电梯

呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3 3 1 2 5代表了Ki(K1=3,K2=3,……),从一楼开始。在一楼,按“上”可以到4楼,按“下”是不...

2017-12-16 11:25:44 1768

原创 #递推#(洛谷1192)台阶问题

i\有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。分析:求方案数,用递推,(记住取余)#include <cstdio>using namespace std;int f[100001],n,k;int main(){ scanf("%d%d",&n,&k); f[0]=1; for...

2017-12-16 11:23:24 226

原创 #归并排序#(洛谷 1908)逆序对

题目描述猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i<j的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。这道题目用了归并排序求逆序对。#i...

2017-12-16 11:16:41 295

原创 (洛谷1024)一元三次方程求解

Description有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位。提示:记方程f(x)=0,若存在2个数x1和x2,且x1<x2,f...

2017-12-16 11:08:14 426

原创 (ssl 1056 洛谷 1064)金明的预算方案#分组背包#

金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件   附件电脑   打印机,扫描仪书柜   图书书桌   台灯,文具...

2017-12-16 10:58:41 305

空空如也

空空如也

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

TA关注的人

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