自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 codevs 最大全0子矩阵

这个题可以预处理矩阵前缀和然后用n^3的方法解决,可是明显会超时,所以有一种n^2的算法。 我们可以一行一行的去算,设h[j]为从当前行开始向上数连续的0的个数(当前第i行也为0),如果当前位置等于1的话那么h[j]=0。 比如说样例: 5 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0

2016-11-07 14:52:20 771

原创 codevs1342 种树

codevs1342 种树题目 A城市有一个巨大的圆形广场,为了绿化环境和净化空气,市政府决定沿圆形广场外圈种一圈树。园林部门得到指令后,初步规划出n个种树的位置,顺时针编号1到n。并且每个位置都有一个美观度Ai,如果在这里种树就可以得到这Ai的美观度。但由于A城市土壤肥力欠佳,两棵树决不能种在相邻的位置(i号位置和i+1号位置叫相邻位置。值得注意的是1号和n号也算相邻位置!)。 最终

2016-11-03 20:41:37 534

原创 1172 Hankson 的趣味题

#include<cstdio>#include<iostream>#include<cmath>#include<algorithm>int a0,a1,b0,b1;using namespace std;int gcd(int a,int b){ if(!b){ return a; } gcd(b,a%b);} bool check(int

2016-10-19 20:43:34 357

原创 4712 gcd与lcm问题

题目描述 Description【NOIP2001最大公约数和最小公倍数问题】的加强版。T组数据,每组数据给出d,m,求满足gcd(i, j)=d且lcm(i, j)=m的(i, j)的个数。输入描述 Input Description第1行是一个数T,表示数据组数。接下来的T行,每行两个数d,m,意义见题目描述。输出描述 Outpu

2016-10-18 14:32:28 652

原创 1060 搞笑世界杯

你和你的朋友在欣喜之余,想计算一下排在队尾的两个人同时拿到一种票的概率是多少(包括同时拿A 类票或B类票) 假设工作人员准备了2n 张球票,其中n 张A类票,n 张B类票,并且排在队伍中的人每人必须且只能买一张球票(不管掷到的是该买A 还是该买B).输入描述 Input Description    输入文件仅一行,包含球票数2n . 其中,0

2016-10-17 15:20:20 306

原创 编辑距离问题

状态的设置:i对应着s1[i],j对应着s2[j]因为一共有三种操作,然后跑for循环会把所有的对应全部对应一遍,所以不用担心插入或者删除的后续的影响;不等的时候:f[i][j]=min(min(f[i-1][j]//删除操作 ,f[i][j-1]//插入操作),f[i-1][j-1]//修改操作)+1;#include#include#include#includeu

2016-10-12 10:57:35 216

原创 最长公共上升子序列

首先,在a[i]!=b[j]的时候有DP[i][j]=DP[i-1][j]。为什么呢?因为DP[i][j]是以b[j]为结尾的LCIA,如果DP[i][j]>0那么就说明a[1]..a[i]中必然有一个字符a[k]等于b[j](如果DP[i][j]等于0呢?那赋值与否都没有什么影响了)。因为a[k]!=a[i],那么a[i]对DP[i][j]没有贡献,于是我们不考虑它照样能得出DP[i][j]的最

2016-10-12 10:31:58 206

原创 车站分级

这是一道拓补排序的题,我们的目的是找最少有几级的车站,可以转化为建图然后找图一共有几层;把每次组数据都视为一层,把每一层没有停下的车站做一条单向边连到停下的车站上,那么每一条路便代表了一层,最后在根据拓补排序的算法看一共要跑几次。#include #include #include #include #include using namespace std; int sta[1

2016-09-26 14:43:07 762

原创 2039 骑马修栅栏 (欧拉回路)

他说要都走一遍而且不走重复,那就是找一个欧拉回路;不会欧拉回路的话应该先看一下欧拉回路的概念这里让找500进制最小的,无非就是字典序最小的欧拉回路,并且因为这个题点的大小最多是500,所以用矩阵存储,遍历的时候根据循环会从小到大依次寻找。具体事项代码里说明#include#include#includeusing namespace std;int d[1010],

2016-09-25 08:48:31 875 1

原创 国王游戏

此题可由数学推导,证明按左手乘右手的顺序排序;此题#include#include#include#includeusing namespace std;struct mns{ long long l,r;};mns crt[10010];bool cmp(mns a,mns b){ if(a.r*a.l!=b.r*b.l) return a.r*a.l

2016-09-04 08:37:26 295

原创 5.3.1codevs1073 家族

5.3.1codevs1073 家族题目描述 Description若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚。如果x,y是亲戚,那么x的亲戚都是y的亲戚,y的亲戚也都是x的亲戚。输入描述 Input Description第一行:三个整数n,m,p

2016-07-24 19:47:29 229

原创 聪明的质监员

codevs1138 聪明的质监员2011年NOIP提高组小 T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有n 个矿石,从1到n 逐一编号,每个矿石都有自己的重量wi 以及价值vi。检验矿产的流程是:见图 若这批矿产的检验结果与所给标准值S 相差太多,就需要再去检验另一批矿产。小T不想费时间去检验另一批矿产,所以他想通过调整参数W 的值,让检验结果尽可能的靠近标准值S,

2016-06-09 15:00:20 598

空空如也

空空如也

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

TA关注的人

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