先就写这几道水题,马上南京网络赛了,去HDU看看(哎...挖坑不填)

A-妹妹的工资怎么算(简单二分)

题目链接:http://47.93.252.151/problem.php?id=1148

题目描述

《我的妹妹哪有这么可爱!》中的女主叫做高坂桐乃,高坂家的幺女,外表出众、成绩优秀、运动万能的少女,而且还兼职流行杂志的专属模特。阳光的外表下却有着特别的兴趣,是个在意周围眼光的御宅族,喜欢妹系的成人游戏和动梅露露的动画。桐乃有很多的工作,这次她有接到一个模特工作,这次一共工作n天,每天的工资为vi 有m个结算工资的日子,因为桐乃还是初中生所以她可以任意挑选m天来拿工资,但是桐乃每次不想拿太多的钱,所以她想计划使她一次性拿的钱中的最大的最小,(最后一天一定要拿工资)但是她不会分配日子,按照惯例,她找来了哥哥京介进行“人生咨询”,想让哥哥帮忙解决这个问题,哥哥也不怎么会,但是哥哥怎么会拒接妹妹的请求呢,所以他来拜托你解决这个问题。

输入

第一行 两个数 n ,m(m<=n<=100000)

第二行 n个数,vi (vi<100000)

输出

一个数表示答案

样例输入

5 3
1 2 3 4 5

样例输出

6

提示

解释:1 2 3// 4// 5 // //为拿工资

之前遇到过一道类似的,把之前的代码一贴也能过...月度开销

这数据。。感觉水的很...

但是还是手写了一个,毕竟要做题

ac:

#include<stdio.h>
#include<string.h>
#include<math.h> #include<map>
//#include<set>
#include<deque>
#include<queue>
#include<stack>
#include<bitset>
#include<string>
#include<fstream>
#include<iostream>
#include<algorithm>
using namespace std; #define ll long long
#define INF 0x3f3f3f3f
//#define mod 1e9+7
//#define max(a,b) (a)>(b)?(a):(b)
//#define min(a,b) (a)<(b)?(a):(b)
#define clean(a,b) memset(a,b,sizeof(a))// 水印
//std::ios::sync_with_stdio(false);
const int MAXN=1e5+5;ll arr[MAXN];
int n,m;bool judge(ll mid)
{ll res=0,num=1;for(int i=1;i<=n;++i){res+=arr[i];if(res>mid){num++;res=arr[i];}//cout<<num<<endl;if(num>m)//分到一半,不能领了,需要一天领更多 return 1;}return 0;//能领完,但是或许可以一天领更少
}int main()//http://47.93.252.151/problem.php?id=1151
{std::ios::sync_with_stdio(false);cin>>n>>m;ll l=0,r=0,mid;for(int i=1;i<=n;++i){cin>>arr[i];r=r+arr[i];l=max(arr[i],l);}while(r>l){mid=(l+r)>>1;//cout<<l<<" "<<r<<" "<<mid<<endl;if(judge(mid))//分的太细了,应该更多一点 l=mid+1;else//分的太多了,还能再少点 r=mid;}cout<<r<<endl;
}

C-找面码

题目链接:http://47.93.252.151/problem.php?id=1150

题目描述

超和平Busters里的面码在这个城市里迷路了,仁太特别着急,面码很害怕一个人,所以仁太想快一点到达面码的身边,现在仁太手上只有一张地图,地图上标明了m条街道,连接着n个区 每条路都会有一个交通压力,现在仁太在s点,他知道面码在t点,请你帮仁太规划一条交通压力最小的路线使他快一点到达面码的身边并且使得经过道路的拥挤度最大值最小

输入

第一行四个数字n,m,s,t。

接下来m 行 每行三个数字表示两个区和这条路的交通压力 两个区可能有多条路相连

n<=10000,m<=2n,拥挤度<=10000

输出

输出题目要求的拥挤度

说明: 题目保证可以从s出发到达t 且 1<=s.t<=n

样例输入

3 3 1 3
1 2 2
2 3 1
1 3 4

样例输出

2

题很简单,就是数据范围有点大,然后用堆优化一下就行了,反正测试数据那么水,随随便便就过了(我猜就一组测试样例(恶意揣度2333))

最短路,随便什么算法都行了,我用的是n*logn的

ac:

#include<stdio.h>
#include<string.h>
#include<math.h> #include<map>
//#include<set>
#include<deque>
#include<queue>
#include<stack>
#include<bitset>
#include<string>
#include<fstream>
#include<iostream>
#include<algorithm>
using namespace std; #define ll long long
#define INF 0x3f3f3f3f
//#define mod 1e9+7
//#define max(a,b) (a)>(b)?(a):(b)
//#define min(a,b) (a)<(b)?(a):(b)
#define clean(a,b) memset(a,b,sizeof(a))// 水印
//std::ios::sync_with_stdio(false);
const int MAXN=1e5+5;
struct dot{int v,l,maxl;dot(int _v=0,int _l=0,int _maxl=0):v(_v),l(_l),maxl(_maxl){};
};
struct cmp{bool operator()(const dot &a,const dot &b){if(a.l==b.l)return a.maxl>b.maxl;return a.l>b.l;}
};
struct node{int v,w,nxt;node(int _v=0,int _w=0,int _nxt=0):v(_v),w(_w),nxt(_nxt){};
}edge[10100<<2];
int head[10100<<2],e;
int dis[10100];
bool vis[10100];
int n,m,s,t;void add(int u,int v,int w)
{edge[e]=node(v,w,head[u]);head[u]=e++;
}void intt()
{clean(head,-1);e=0;
}int prim()
{clean(dis,INF);clean(vis,0);dis[s]=0;priority_queue<dot,vector<dot>,cmp> que;que.push(dot(s,0,0));while(que.size()){dot u=que.top();que.pop();if(u.v==t)return u.maxl;vis[u.v]=1;for(int i=head[u.v];i+1;i=edge[i].nxt){int temp=edge[i].v;if(dis[temp]>dis[u.v]+edge[i].w&&vis[temp]==0){dis[temp]=dis[u.v]+edge[i].w;int maxl=max(u.maxl,edge[i].w);que.push(dot(temp,dis[temp],maxl));}}}return -1;
}int main()
{std::ios::sync_with_stdio(false);intt();cin>>n>>m>>s>>t;int a,b,l;for(int i=0;i<m;++i){cin>>a>>b>>l;add(a,b,l);add(b,a,l);}int f=prim();cout<<f<<endl;
}

D-轻羽飞扬(简单DP)

题目链接:http://47.93.252.151/problem.php?id=1151

题目描述

电视动画《轻羽飞扬》改编自滨田浩辅原作的同名漫画,作为今年的7月新番,dyl非常喜欢尤其是里面的大魔王&&主角 羽咲绫乃,我们知道绫乃小的时候特别喜欢打羽毛球,她的母亲千夏是一个非常有名的羽毛球选手曾获得女子单人羽毛球全日本综合优胜十连霸冠军,对待自己的女儿千夏有独特的训练方式,绫乃很喜欢和母亲打羽毛球,但是呢千夏每天只和绫乃打一局,一旦绫乃接不住母亲的球,千夏就让绫乃自己训练,作为绫乃的好朋友藤泽英玲奈你将如何帮助绫乃能够更多的接到母亲的羽毛球呢?

首先 我们将羽毛球场分成0-10 11个位置如图所示

最开始 绫乃站在5的位置,每一秒钟都会有若干个球落在若干个位置,由于绫乃刚刚进行过训练所以很累,她只能接到所处位置或者相邻位置上的球,所以绫乃最多能够接到几个球呢?

输入

输入有多组 不超过10组数据 以0结尾

每组 第一行一个数 n 表示球的数量 (n<100000)

第二行到n+1行每行两个数x,t (x代表球落下的位置,t代表第几秒) (t<100000)

输出

一个数代表 绫乃最多能够接到的球的数量

//

开始时站在5这个位置,因此在第一秒,ta只能接到4,5,6这三个位置中其中一个位置上的羽毛球。问最多可能接到多少个球?

样例输入

6
5 1
4 1
6 1
7 2
7 2
8 3
0

样例输出

4

提示

这个题多组输入 输入时请用while(cin>>n&&n) 以0结尾
接球时要么接自己原来位置上的球或者是移动到相邻的位置接相邻位置的球

/*---------------------------------------------------------------------------------------------------------------------------*/

简单DP....但是一开始写的时候把坐标写到外面的循环了..导致一直WA..外循环应该是时间....一层一层的刷新DP数组....太谜了..

ac:

#include<stdio.h>
#include<string.h>
#include<math.h> #include<map>
//#include<set>
#include<deque>
#include<queue>
#include<stack>
#include<bitset>
#include<string>
#include<fstream>
#include<iostream>
#include<algorithm>
using namespace std; #define ll long long
#define INF 0x3f3f3f3f
//#define mod 1e9+7
//#define max(a,b) (a)>(b)?(a):(b)
//#define min(a,b) (a)<(b)?(a):(b)
#define clean(a,b) memset(a,b,sizeof(a))// 水印
//std::ios::sync_with_stdio(false);
const int MAXN=1e+5;int mp[MAXN][15];
int dp[MAXN][15];
int n;int get_max(int a,int b,int c)
{if(a<b)return b>c?b:c;elsereturn a>c?a:c;
}int main()//http://47.93.252.151/problem.php?id=1151
{std::ios::sync_with_stdio(false);while(cin>>n&&n){clean(dp,0);clean(mp,0);int x,t,m=0;for(int i=1;i<=n;++i){cin>>x>>t;m=max(m,t);if((x<5-t)||(x>5+t))continue;elsemp[t][x]++;}for(int i=1;i<=m;++i){for(int j=0;j<11;++j)//遍历11个点 {if(j>0)//不是第一个点 dp[i][j]=get_max(dp[i-1][j-1],dp[i-1][j],dp[i-1][j+1])+mp[i][j];//前中后 else//第一个点 dp[i][j]=max(dp[i-1][j],dp[i-1][j+1])+mp[i][j];}}
//      for(int i=0;i<=m;++i)
//      {
//          for(int j=0;j<11;++j)
//              cout<<dp[i][j]<<" ";
//          cout<<endl;
//      }int ans=-1;for(int i=0;i<11;++i)ans=max(ans,dp[m][i]);cout<<ans<<endl;}
}

E:NO GAME NO LIFE(思维+优先队列)

题目描述

输了不感到悔恨的人,没资格当游戏玩家,不过正因为如此,才会第一次觉得快乐

在网络上成为都市传说的天才玩家兄妹·空和白实际是家里蹲尼特族。他们将将世界称为“垃圾游戏”。某天,这两个人某一天被自称“神”的少年召唤到了异世界。那是被神明禁止了战争,一切交由游戏来决定"的世界——没错,就连国境线也是一样。被其他种族逼入绝境,只剩下最后一座都市的“人类种”。空和白,两名废人兄妹到底能否在异世界成为“人类的救世主”?——那么,让我们开始游戏吧,

空白两人遇到了这样一个游戏,一款类似2048的游戏规则如下

一开始,有 n 个方块,每个方块上有一个 1 到 m 的整数。空白可以进行两种操作:

1、 选择两个数字相同的方块(不一定要相邻),将它们合并成一个数字为原来的两倍的方块;

2、 减小一个方块上的数字。

操作的次数没有限制,最终的得分为所有方块上的最大的数字。因为空白玩游戏没有输过,所以请你想办法来解决掉这个问题!

输入

第一行 两个数n代表n个方块 m代表方块上的数字 m n<=1e5

第二行 n个数

输出

一个数表示最大值

样例输入

5 10
6 10 7 5 4

样例输出

24

提示

答案可能会爆int

注意回报int就行了,这个题也很好想解法,哎....水题

ac:

#include<stdio.h>
#include<string.h>
#include<math.h> #include<map>
//#include<set>
#include<deque>
#include<queue>
#include<stack>
#include<bitset>
#include<string>
#include<fstream>
#include<iostream>
#include<algorithm>
using namespace std; #define ll long long
#define INF 0x3f3f3f3f
//#define mod 1e9+7
//#define max(a,b) (a)>(b)?(a):(b)
//#define min(a,b) (a)<(b)?(a):(b)
#define clean(a,b) memset(a,b,sizeof(a))// 水印
//std::ios::sync_with_stdio(false);struct cmp{bool operator()(const ll &a,const ll &b){return a>b;}
};int main()
{priority_queue<ll,vector<ll>,cmp> que;while(que.size())que.pop();int n,m;cin>>n>>m;ll x;for(int i=1;i<=n;++i){cin>>x;que.push(x);}while(que.size()>1){ll e1=que.top();que.pop();if(que.top()>2*e1)//第二个更大 continue;else{que.pop();que.push(e1*2);}}cout<<que.top()<<endl;return 0;
}

G:找食物(简单搜索)

题目链接:http://47.93.252.151/problem.php?id=1154

题目描述

很多关于末日的故事都很残酷,但这部《少女终末旅行》却不一样。没有战争,没有为了食物的争斗,没有人在乎之前发生了什么,未来会怎么样,人类在一片温暖中缓慢的等待死亡。距离极尽繁荣与荣华的人类文明迎来末日,已经经过了漫长的岁月。人类几乎死绝,就连生物都消失的迎来末日的世界。复杂建造的都市化作宛如迷宫的废墟,无从整备的机械也渐渐停止了动作。是何时结束的呢,是从何时开始结束的呢,就连这种想法也不复存在的终末世界中,有两位少女漫无目的地持续着旅行。千户与尤莉,今天也乘着爱车Kettenkrad,在废墟当中彷徨。 在终末世界中温暖地求生的反乌托邦幻想剧,就此开幕

为了在这个荒无人烟的世界上生存下去千户和尤梨不得不解决眼前的困难那就是找食物,在这个(n*m)迷宫里两人的坐标在(x,y),两人想要得到箱子里的食物就必须要找到钥匙,现在她们两人并不知道钥匙和箱子的位置她们两人很饿所以请你给他们规划一下路线让他们两人能够尽快吃到东西。输出最少要走的步数

输入

第一行两个数 n ,m 表示 迷宫的大小(n,m<1000)

第2行到 第 n+1 行 每行m个字符,"*"代表墙壁不可走 “.”代表可走 ‘S’ 钥匙 'T' 箱子的位置

n+2行 两个数 x,y 代表两人的起始位置 (只能走上下左右四个方向)

输出

能找到食物输出最少要走的步数 不能找到输出“-1”;

样例输入

3 3
S.*
..T
***
1 2

样例输出

4

提示

S T 唯一且保证存在 S T保证不再一个格子里
没有找到钥匙之前 箱子的位置是不可走的
初始位置不可能在钥匙和箱子所在的格子

数据应该就4组.....无力吐槽....

两次bfs直接水过

ac:

#include<stdio.h>
#include<string.h>
#include<math.h> #include<map>
//#include<set>
#include<deque>
#include<queue>
#include<stack>
#include<bitset>
#include<string>
#include<fstream>
#include<iostream>
#include<algorithm>
using namespace std; #define ll long long
#define INF 0x3f3f3f3f
//#define mod 1e9+7
//#define max(a,b) (a)>(b)?(a):(b)
//#define min(a,b) (a)<(b)?(a):(b)
#define clean(a,b) memset(a,b,sizeof(a))// 水印
//std::ios::sync_with_stdio(false);
const int MAXN=1e5+5;
struct node{int x,y;bool friend operator == (node a,node b){if(a.x==b.x&&a.y==b.y)return 1;elsereturn 0;}
};
char mp[1010][1010];
int dis[1010][1010];
int fx[4]={0,0,1,-1},fy[4]={1,-1,0,0};
node t1,t2;
int n,m;bool judge(node v)
{if(v.x>0&&v.x<=n&&v.y>0&&v.y<=m)//地图中 {if(mp[v.x][v.y]=='.'&&dis[v.x][v.y]==-1)return 1;}return 0;
}int find_S(node u)
{clean(dis,-1);queue<node> que;dis[u.x][u.y]=0;que.push(u);while(que.size()){u=que.front();que.pop();//cout<<u.x<<" "<<u.y<<endl;if(u==t1)return dis[u.x][u.y];for(int i=0;i<4;++i){node v;v.x=u.x+fx[i],v.y=u.y+fy[i];if(judge(v)||mp[v.x][v.y]=='S'){que.push(v);dis[v.x][v.y]=dis[u.x][u.y]+1;}}}return -1;
}int find_T(node u)
{clean(dis,-1);queue<node> que;dis[u.x][u.y]=0;que.push(u);while(que.size()){u=que.front();que.pop();if(u==t2)return dis[u.x][u.y];for(int i=0;i<4;++i){node v;v.x=u.x+fx[i],v.y=u.y+fy[i];if(judge(v)||mp[v.x][v.y]=='T'){que.push(v);dis[v.x][v.y]=dis[u.x][u.y]+1;}}}return -1;
}int main()
{std::ios::sync_with_stdio(false);cin>>n>>m;for(int i=1;i<=n;++i){for(int j=1;j<=m;++j){cin>>mp[i][j];if(mp[i][j]=='S')t1.x=i,t1.y=j;else if(mp[i][j]=='T')t2.x=i,t2.y=j;}}node s;cin>>s.x>>s.y;int f1=find_S(s);if(f1==-1){cout<<-1<<endl;return 0;}int f2=find_T(t1);if(f2==-1)cout<<-1<<endl;elsecout<<f1+f2<<endl;
}

YNUOJ-开学大作战之补番真开心(2018/8/29)相关推荐

  1. 转dem_约会大作战:真那离开DEM社,欠着的500万就不用还了

    <约会大作战>中,有着两股主要的战斗力,其一是大家非常熟悉的精灵妹子,其二便是魔术师.作为作品中战斗力的主要构成之一,魔术师在整个故事里可以是发挥了相当重要的作用.只不过,魔术师们大多数情 ...

  2. yxy和志愿者小姐姐番外篇之大宝宝123追番记(补题,淘汰赛)

    1264: yxy和志愿者小姐姐番外篇之大宝宝123追番记 时间限制: 1 Sec  内存限制: 64 MB                                               ...

  3. Expo大作战(三十六)--expo sdk api之 ImagePicker,ImageManipulator,Camera

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  4. 《球球大作战》游戏优化之路(下)

    演讲内容 大家好,我叫徐宇峰,负责<球球大作战>的性能优化. <球球大作战>现在拥有五亿多的玩家,为了吸引如此庞大的玩家群体,我们提供给玩家更炫更酷的皮肤,这些美轮美奂的皮肤, ...

  5. 球球大作战体验服找不到团战服务器6,球球大作战常见问题汇总 新版本问题解决方法...

    下面波比为大家带来球球大作战新版本的问题汇总,大版本更新以来,球球大作战的玩家们遇到了各种各样的小问题,下面就来看看要如何解决吧. 1.为什么我的账号没有签到功能,如何开启签到功能? 答:开启宝箱功能 ...

  6. 球球大作战显示短信服务器出错,《球球大作战》新版本常见问题解决方案汇总...

    新版本更新完之后,各位球宝遇到这样那样的问题,下面小编为大家带来球球大作战4.2.0版本常见问题的解决办法,希望帮到大家! 1. 为什么我的账号没有签到功能,如何开启签到功能? 答:开启宝箱功能或者充 ...

  7. 球球大作战显示短信服务器出错,球球大作战常见问题汇总及解决方法

    原标题:球球大作战常见问题汇总及解决方法 下面为大家带来球球大作战新版本的问题汇总,大版本更新以来,球球大作战的玩家们遇到了各种各样的小问题,下面就来看看要如何解决吧. 球球大作战问题汇总 1.为什么 ...

  8. 球球大作战显示短信服务器出错,球球大作战常见问题汇总 新版本问题解决方法...

    下面波比为大家带来球球大作战新版本的问题汇总,大版本更新以来,球球大作战的玩家们遇到了各种各样的小问题,下面就来看看要如何解决吧. 1.为什么我的账号没有签到功能,如何开启签到功能? 答:开启宝箱功能 ...

  9. 贪吃蛇大作战JavaFx版完整源码

    贪吃蛇大作战 Java版 项目源码:https://github.com/silence1772/JavaFX-GreedySnake (记得点star啊,收藏一个项目最好的方式是star而不是for ...

  10. 世界杯流量大作战,来看各路品牌如何玩转世界杯营销?

    世界杯流量大作战,来看各路品牌如何玩转世界杯营销? 2022年,卡塔尔世界杯于11月21日正式开幕. 首次在北半球的冬季举办,首次由从未进入过世界杯的中东国家举办,也是第二次在亚洲举办的世界杯足球赛, ...

最新文章

  1. LINUX创建www的用户组和用户,并且不允许登录权限:
  2. Exchange禁用中继后仍然被中继的处理方法
  3. 简易的bbs论坛开发过程上(后台开发)
  4. python实现数字循环相加_python使用递归、尾递归、循环三种方式实现斐波那契数列...
  5. C/C++语言的特点
  6. RecyclerView 的 Item 的单击事件
  7. 《Redis官方文档》Data types—数据类型
  8. WCF+EF实战系列一
  9. bat小工具_字节跳动收购效率工具幕布,张一鸣的 To B 野心 | 36氪独家
  10. 计算机通信与专业英语翻译,电子信息与通信工程专业英语王立琦版课文翻译
  11. win7开机动画_win7系统怎么修改开机动画 win7系统开机动画修改方法
  12. 简单 黑苹果dsdt教程_DSDT完美睡眠教程
  13. Unity调用打印机
  14. 常见面试问题整理(考研复试面试/计算机408+数据库基础概念)
  15. Linux+Ubuntu
  16. 如何判断微信/判断支付宝退款超期
  17. PHP实现阿拉伯数字转中文大写
  18. Windows 7 如何开启休眠
  19. web前端研发工具篇
  20. boost asio——基于协程的TCP服务器

热门文章

  1. python入门之函数结构第二关_Python入门二:函数
  2. 微信公众号接口开发--回复消息
  3. 各位老铁,善财读书会试运营了
  4. android面试题之二(红黑联盟)
  5. 论文阅读笔记------摄影测量与深度学习
  6. 【科普】当手机遭遇短信验证码轰炸,这几点尤其要注意
  7. java影院订票系统图形界面,java简单影院订票系统Word版
  8. matlab 输出两列,Matlab绘制两列正弦波的叠加
  9. 暑假闲着没事第一弹:基于Django的长江大学教务处成绩查询系统
  10. Wireshark 捕捉本地数据 --WinPcap切换NPcap