自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 最短路--练习

dijkstra算法(到一点的最短路)void dijkstra(int s){ //到s点的最短路 for(int i=1;i<=n;i++){ dis[i]=a[s][i]; //先记录每个点到s的距离 } vis[s]=1; dis[s]=0; for(int i=0;i<n;i++){ //找到n个点到s的最短距离 int flag=-1,Min=Inf; fo

2020-07-29 21:05:23 419

原创 序列DP常见问题

最大子序列和HUD1003s是该序列从头到尾逐个相加的和,每次与最大值相比较并且更新最大值和记录结束的位置,然后如果s<0,那么可以更新起始位置,并且s归0.#include<stdio.h>int a[100005],t,n,nu=0;int main(){ scanf("%d",&t); while(t--){ nu++; scanf("%d",&n); for(int i=0;i<n;i+

2020-07-17 12:09:07 365

原创 简单搜索练习

POJ1312棋盘问题 (DFS)#include<stdio.h>#include<string.h>int n,k,a[10][10],vis[10][10],t;bool check(int x,int y){ for(int i=0;i<n;i++){ if(vis[i][y]){return false;} } for(int j=0;j<n;j++){ if(vis[x][j]){return f

2020-07-17 10:31:21 202

原创 二维单调队列--题目练习

二维单调队列分为两个部分:1、在a[i][j]中对于每一行,找到每一个数从这个数到前k个数的最大值,记录为b[i][j];2、在b[i][j]中对于每一列,找到每一个数从这个数到前k个数的最大值,这个数就是b[i][j]2020牛客暑期多校训练营(第二场)F-Fake Maxpooling...

2020-07-15 22:00:43 289

原创 大数加减乘除

大数加法从低位到高位对每一位计算,(两者相加+进位)%10为该位的值,(两者相加+进位)/10为下一步的进位。【注意】所有位数加完之后要注意还有没有进位。void add(){ clen=0; memset(c,0,sizeof(c)); int x=0,temp; for(int i=0;i<len;i++){ temp=a[i]+b[i]+x; c[clen++]=temp%10; x=temp/10; } if(x){ c[clen++]=x; } }大数

2020-07-12 20:00:27 85

原创 HDU1158 Employment Planning(DP)

链接: HDU1158题目大意是:每个月解雇或雇佣一些员工,每次雇佣或解雇一名员工时,将会有一些额外的成本,要求每个月雇佣或解雇多少工人能让成本最低。题目会告诉每个月最少工人数和雇佣和解雇一个工人的花费。先求出所有月份中需要的最多的人工数,记作Max。因为是求最低成本所以每月雇佣的人数p[i]<=Max.h:雇佣的成本 s:工资 f:解雇的钱如果p[i]>=p[i-1] 当月花费为: 上个月的花费+h*(p[i]-p[i-1])+s*p[i];如果p[i]<

2020-07-11 20:50:23 131

空空如也

空空如也

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

TA关注的人

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