【jzoj】2018.2.1 NOIP普及组——D组模拟赛

前言

懒…

正题


题1:牛车(jzoj1390)

有m条公路,有n头牛各开一辆车,如果有x辆车开在它前门,它速度就会降低d*x,路上速度至少为l。求有多少头牛可以上路。


输入

第1行: 4个空格隔开的整数N,M,D,L
第2..N+1行: 第i+1行描述第i头牛的起初车速。

输出

第一行: 输出一个整数表示最多可以在高速上行驶的牛车数量。

样例输入

3 1 1 5
5
7
5

样例输出

2


贪心,一行一行的从小到大塞牛


代码

#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,d,l,a[50001],s,num[50001],j;
int main()
{scanf("%d%d%d%d",&n,&m,&d,&l);for (int i=1;i<=n;i++) scanf("%d",&a[i]);//输入sort(a+1,a+1+n);//排序for (int i=1;i<=n;i++){for (j=1;j<=(n-1)/m+1;j++)//最多可以塞几头牛{if (a[i]-d*(j-1)>=l && num[j]<m)//寻找位置{num[j]++;break;}//塞}if (j<=(n-1)/m+1) s++;//塞入}printf("%d",s);//输出
}

题2:危险系数(jzoj1391)

有n个岛屿,要按顺序到达m个岛屿(可以重复或不连续),已知每个岛之间的危险系数。求最小危险系数。


输入

第1行: 两个数, N 和 M
第 2..M+1行: 第i+1行表示给定的序列中第i个岛屿A_i
第M+2..N+M+1行:每行N个整数,表示岛屿之间的危险系数,对角线上一定是0。

输出

输出满足要求的最小危险系数

样例输入

3 4
1
2
1
3
0 5 1
5 0 2
1 2 0

样例输出

7


最短路,因为要求每个点的所以用Floyd算法(反正数据小)


代码

#include<cstdio>
#include<iostream>
using namespace std;
int n,m,f[10001],a[101][101],s;
int main()
{scanf("%d%d",&n,&m);for (int i=1;i<=m;i++) scanf("%d",&f[i]);for (int i=1;i<=n;i++)for (int j=1;j<=n;j++)scanf("%d",&a[i][j]);for (int k=1;k<=n;k++)for (int i=1;i<=n;i++)for (int j=1;j<=n;j++)if (i!=j && i!=k && j!=k){a[i][j]=min(a[i][j],a[i][k]+a[k][j]);}//Floyd算法for (int i=2;i<=m;i++){s+=a[f[i-1]][f[i]];//计算距离}printf("%d",s);
}

题目3:前缀转后缀(jzoj1590)

输入一个前缀表达式,转成后缀表达式


输入

输入一个前缀表达式,运算符只有“+”和“-”,操作数都是只有1个位数字(0到9),运算符和操作数之间都用一个空格隔开,表达式没有前导空格。每个表达式都是合法的,并且运算符不超过20个。

输出

输出对应的后缀表达式。

样例输入

1

样例输出

1


tree
如图建立一颗树,求出他的后序遍历就好了。这里不难发现,只有符号后才有分支(两个)。


代码

#include<cstdio>
#include<cstring>
using namespace std;
struct point{int son1,son2;
};
point tree[201];
int m,n;
char c[201];
int buld(int x)//建树
{m++;//位置if (c[x]=='+' || c[x]=='-')//符号{tree[x].son1=buld(m+1);//分支tree[x].son2=buld(m+1);//分支return x;}else {tree[x].son1=-1;tree[x].son2=-1;//数字没有分支return x;}
}
int print(int x)//后序遍历输出
{if (tree[x].son1!=-1) print(tree[x].son1);if (tree[x].son2!=-1) print(tree[x].son2);printf("%c ",c[x]);
}
int main()
{//freopen("j4.in","r",stdin);//freopen("j4.out","w",stdout);n=0;char w;while ((c[++n]=getchar())!='\n') {w=getchar();if (w=='\n') break;}//读入n--;buld(1);print(1);
}

题目4:游戏(jzoj1591)

有4种材料,ABCD。每种材料有一定数量,以下情况可以产生反应:
AABDD
ABCD
CCD
BBB
AD
两个人轮流取材料,直到有人无法产生反应为止就输了。两个人是聪明绝顶的人。
求胜者


输入

第一行输入一个整数N(1<=N<=100),表示游戏次数,接下来N行,每行四个整数,分别表示游戏开始时A,B,C,D四种材料的数量。假设一开始每种材料的数量都在0到60之间。

输出

对于每次游戏输出赢者的名字。

样例输入

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

样例输出

Roland
Patrick
Roland
Roland
Roland
Patrick


这里用记忆化搜索模拟情况,然后用返回确定胜者。


代码

#include<cstdio>
using namespace std;
int w[5][4]={{2,1,0,2},{1,1,1,1},{0,0,2,1},{0,3,0,0},{1,0,0,1}};//预处理情况
int f[61][61][61][61],a,b,c,d,n;
int dfs(int a,int b,int c,int d)
{if (f[a][b][c][d]!=0) return f[a][b][c][d];//记忆化搜索for (int i=0;i<5;i++){if (a>=w[i][0] && b>=w[i][1] && c>=w[i][2] && d>=w[i][3])//如果可以取{if (dfs(a-w[i][0],b-w[i][1],c-w[i][2],d-w[i][3])==2)//搜索{f[a][b][c][d]=1;//记忆return 1;}}}f[a][b][c][d]=2;//记忆return 2;
}
int main()
{//freopen("j5.in","r",stdin);//freopen("j5.out","w",stdout);scanf("%d",&n);for (int i=1;i<=n;i++){scanf("%d%d%d%d",&a,&b,&c,&d);if (dfs(a,b,c,d)==2) printf("Roland\n");else printf("Patrick\n");//输出}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSP的四大作用域和九大内置对象

JSP的四大作用域和九大内置对象 https://wenku.baidu.com/view/a0974190152ded630b1c59eef8c75fbfc77d949d?ivk_sa1023194j&bfetypenew

事件总线知多少(2)

1.引言 之前的一篇文章事件总线知多少&#xff08;1&#xff09;&#xff0c;介绍了什么是事件总线&#xff0c;并通过发布订阅模式一步一步的分析重构&#xff0c;形成了事件总线的Alpha版本&#xff0c;这篇文章也得到了大家的肯定和积极的反馈和建议&#xff0c;在此谢谢大…

记录程序人生2020.8.11

1.晚休的时间总是短暂的&#xff0c;甚至你都没有来得及闭眼呢就需要将它睁开。上眼皮与下眼皮一直恋恋不舍的分开&#xff0c;天花板渐渐的呈现出来&#xff0c;该起了&#xff01; 2.5点一刻准时坐在外面的水泥台阶上&#xff0c;飞速打开屏幕中的背单词软件&#xff0c;%……

DDD理论学习系列(4)-- 领域模型

1.引言 我们还是先来拆词理解&#xff0c;领域模型可以拆为“领域”和“模型”二词。 领域&#xff1a;按照我们之前的文章的理解&#xff0c;DDD中的领域是指软件系统要解决的问题&#xff0c;如我们的办公设备公众号在线商城就是为了解决电商问题&#xff0c;对应的就是电商…

jzoj1882-亲戚【并查集】

题目 有n个人&#xff0c;已知m种亲戚关系&#xff0c;如果A和B是亲戚&#xff0c;B和C也是亲戚&#xff0c;那么A和C也是亲戚。接下来求一些人是否为亲戚。 Input 输入由两部分组成。 第一部分以N&#xff0c;M开始。N为问题涉及的人的个数,M表示已经知道M对亲戚关1<N,…

Ajax判断用户名是否可用

Ajax的简介 01展示效果并认识Ajax 方案1&#xff1a;传统方案 提交表单&#xff0c;服务器端处理&#xff0c;错误后跳转到注册页面&#xff0c;同时显示错误信息。返回客户端的是整个注册页面。 缺点&#xff1a;较大的网络流量&#xff0c;用户体验不好 方案2&#xff1a;使…

学习分布式不得不会的ACP理论

转载自 学习分布式不得不会的ACP理论 2000年7月&#xff0c;加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后&#xff0c;麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后&#xff0c;CAP理论正式成为分布式计算领域的公认定理。 无…

浅谈我的读书史

点击上方蓝字关注我们本文是【雄雄的小课堂】原创的第 137 篇文章昨日晚间&#xff0c;一个朋友突然问我&#xff1a;“读书真的会有所收获吗&#xff1f;”“读书&#xff0c;真的会改变一个人吗&#xff1f;”刚看到这个问题时&#xff0c;我有点愕然&#xff0c;想着为啥会突…

.NetCore+Jexus代理+Redis模拟秒杀商品活动

开篇叙 &#xff0c;顺手点个推荐也不错&#xff1b; a. 秒杀流程 b. 封装StackExchange.Redis的使用类 c. Ubuntu16.04上使用Jexus搭建代理完成分布式部署 d. NetCore写实时监控队列服务 秒杀架构设计图︿(&#xffe3;︶&#xffe3;)︿三幅 1. 一般业务性架构 2. 后端…

jzoj1373-食物链【并查集】

题目 有3种动物&#xff0c;有n个动物&#xff0c;m种说法。 1&#xff09; 当前的话与前面的某些真的话冲突&#xff0c;就是假话&#xff1b; 2&#xff09; 当前的话中X或Y比N大&#xff0c;就是假话&#xff1b; 3&#xff09; 当前的话表示X吃X&#xff0c;就是假话。…

Ajax实现二级联动

ajax02.jsp <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head><title>二级联动</title><base href"<%request.getContextPath()"/"%>"><script type"…

如何快速搭建一个免费的,无限流量的Blog

转载自 如何快速搭建一个免费的&#xff0c;无限流量的Blog 喜欢写Blog的人&#xff0c;会经历三个阶段。 第一阶段&#xff0c;刚接触Blog&#xff0c;觉得很新鲜&#xff0c;试着选择一个免费空间来写。 第二阶段&#xff0c;发现免费空间限制太多&#xff0c;就自己购买域…

切记!构造函数里面别一定不要初始化其他类,踩过坑的都知道

点击上方蓝色关注我们&#xff01;先来看看什么是构造函数&#xff08;方法&#xff09;&#xff1a;是一种特殊的方法&#xff0c;特殊之处就在于它没有返回类型&#xff0c;void也不可以有。且方法名与类名完全相同。主要是用来创建对象时初始化对象&#xff0c;也就是为对象…

线程安全问题解决

方式一(同步代码块) synchronized(同步监视器){ //需要被同步的代码 } 说明&#xff1a;1.操作共享数据的代码&#xff0c;即为需要被同步的代码。 -->不能包含代码多了&#xff0c;也不能包含代码少了。 2.共享数据&#xff1a;多个线程共同操作的变量。比如&#xff1a;…

Chrome DevTools 调研笔记

1 说明 此篇文章针对Chrome DevTools常用功能进行调研分析。描述了每个功能点能实现的功能、应用场景和详细操作。 2 Elements 2.1 功能 检查和实时更新页面的HTML与CSS 在 Elements 面板中检查和实时编辑 DOM 树中的任何元素。在 Styles 窗格中查看和更改应用到任何选…

Ajax响应处理数据的三种格式(主要使用gson包)

Ajax响应处理数据的三种格式 A、普通文本(重点)后台&#xff1a;sevletresp.getWriter().print("Ajax响应成功");前台&#xff1a;jspvar text xhr.responseText;B、JSON格式(重点)1、更改toString方法&#xff08;了解&#xff09;Overridepublic String toString…

网站开发人员应该知道的62件事

转载自 网站开发人员应该知道的62件事 有人在Stack Overflow上发问&#xff0c;动手开发网站之前&#xff0c;需要知道哪些事情&#xff1f; 不出意料地&#xff0c;他得到了一大堆回答。 通常情况下&#xff0c;你需要把所有人的发言从头到尾读一遍。但是&#xff0c;Stac…

jzoj1350-游戏(某C组)【SPFA,图,最短路】

前言 每天一道C组题get√ 题目 有一颗树&#xff0c;只有一个树根&#xff0c;Alice有M1块石头&#xff0c;Bob有M2块石头&#xff0c;Alice先移每个人轮流移动石头&#xff0c;谁先把自己的石头全部移动到树根处就失败了&#xff0c;输出游戏胜者。 Input 输入包含多组测试…

java中你知道的这四种代码块吗?

点击上方蓝字关注我们大家好&#xff0c;我是雄雄&#xff0c;今天给大家分享的是&#xff1a;java中的四种代码块什么叫代码块&#xff1f;代码块就是将多行代码封装到一个“{}”中&#xff0c;形成一个独立的代码区&#xff0c;这就构成了代码块&#xff0c;一般常见的代码块…