8.19noip模拟题

 

2017 8.19 NOIP模拟赛

by coolyangzc

 

 

 

共3道题目,时间3小时

 

 

题目名

高级打字机

不等数列

经营与开发

源文件

type.cpp/c/pas

num.cpp/c/pas

exploit.cpp/c/pas

输入文件

type.in

num.in

exploit.in

输出文件

type.out

num.out

exploit.out

时间限制

1000MS

1000MS

1000MS

内存限制

256MB

256MB

256MB

测试点

5+(5)

10

10

测试点分值

20

10

10

 

 

 

评测环境

 

操作系统:Windows XP SP3

CPU: Pentium(R) Dual-Core CPU E5300 @ 2.60Ghz(2CPUs)

系统内存:2GB

 

 

 

 

 

 

Problem 1 高级打字机(type.cpp/c/pas)

【题目描述】

早苗入手了最新的高级打字机。最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧。

请为这种高级打字机设计一个程序,支持如下3种操作:

1.T x:在文章末尾打下一个小写字母x。(type操作)

2.U x:撤销最后的x次修改操作。(Undo操作)

(注意Query操作并不算修改操作)

3.Q x:询问当前文章中第x个字母并输出。(Query操作)

文章一开始可以视为空串。

 

【输入格式】

第1行:一个整数n,表示操作数量。

以下n行,每行一个命令。保证输入的命令合法。

 

【输出格式】

每行输出一个字母,表示Query操作的答案。

 

【样例输入】

7

T a

T b

T c

Q 2

U 2

T c

Q 2

【样例输出】

b

c

【数据范围】

对于40%的数据 n<=200;

对于100%的数据 n<=100000;保证Undo操作不会撤销Undo操作。

<高级挑战>

对于200%的数据 n<=100000;Undo操作可以撤销Undo操作。

<IOI挑战> type

必须使用在线算法完成该题。

 

#include<iostream>
#include<cstdio>
using namespace std;
int n,top;
char a[100001];
int main()
{freopen("type.in","r",stdin);freopen("type.out","w",stdout);scanf("%d",&n);while(n--){char ch[2];scanf("%s",ch);if(ch[0]=='T')cin>>a[++top];else if(ch[0]=='U'){int x;scanf("%d",&x);if(top>=x)top-=x;else top=0;}else {int x;scanf("%d",&x);cout<<a[x]<<endl;}} return 0;}
蜜汁RE

黄学长的代码也是挂了50

 

 

Problem 2 不等数列(num.cpp/c/pas)

【题目描述】

将1到n任意排列,然后在排列的每两个数之间根据他们的大小关系插入“>”和“<”。问在所有排列中,有多少个排列恰好有k个“<”。答案对2012取模。

 

【输入格式】

第一行2个整数n,k。

 

【输出格式】

一个整数表示答案。

 

【样例输入】5 2

【样例输出】

66

【数据范围】

对于30%的数据:n <= 10

对于100%的数据:k < n <= 1000,

 

 

#include<iostream>
#include<cstdio>
#include<cstring>#define mod 2012
#define N 1007using namespace std;
int L[N][N],n,m,cnt,k;int main()
{freopen("num.in","r",stdin);freopen("num.out","w",stdout);scanf("%d%d",&n,&k);if(k>=n) {printf("0\n");return 0;}for(int i=1;i<=n;i++) L[i][0]=1;for(int i=2;i<=n;i++)for(int j=1;j<=k;j++){if(j>=i) continue;L[i][j]=(L[i][j]+L[i-1][j-1]*(i-j)+(j+1)*L[i-1][j])%mod;}printf("%d\n",L[n][k]%mod);fclose(stdin);fclose(stdout);return 0;
}
水水水DP

 

 

 

Problem 3 经营与开发(exploit.cpp/c/pas)

【题目描述】

4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以“EX”为开头的英语单词。

eXplore(探索)

eXpand(拓张与发展)

eXploit(经营与开发)

eXterminate(征服)

——维基百科

 

今次我们着重考虑exploit部分,并将其模型简化:

你驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞过n个星球。

 

星球笼统的分为2类:资源型和维修型。(p为钻头当前能力值)

1.资源型:含矿物质量a[i],若选择开采,则得到a[i]*p的金钱,之后钻头损耗k%,即p=p*(1-0.01k)

2.维修型:维护费用b[i],若选择维修,则支付b[i]*p的金钱,之后钻头修复c%,即p=p*(1+0.01c)

    注:维修后钻头的能力值可以超过初始值(你可以认为是翻修+升级)

 

请作为舰长的你仔细抉择以最大化收入。

 

【输入格式】

第一行4个整数n,k,c,w。

以下n行,每行2个整数type,x。

type为1则代表其为资源型星球,x为其矿物质含量a[i];

type为2则代表其为维修型星球,x为其维护费用b[i];

 

【输出格式】

一个实数(保留2位小数),表示最大的收入。

 

【样例输入】

5 50 50 10

1 10

1 20

2 10

2 20

1 30

【样例输出】

375.00

【数据范围】

对于30%的数据 n<=100

另有20%的数据 n<=1000;k=100

对于100%的数据 n<=100000; 0<=k,c,w,a[i],b[i]<=100;保证答案不超过10^9   

 

/*
可以发现,当前的决策只对后面的开采有影响,且剩余耐久度与之后的开采收益成正比,如果倒着考虑这个问题,得出i-n的星球1点耐久度所能获得的最大收益,从后往前dp,得出最大值最后乘w就是答案
*/
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=100001;
int n,w,t[maxn],a[maxn];
double k,c,ans;
int main()
{freopen("exploit.in","r",stdin);freopen("exploit.out","w",stdout);scanf("%d%lf%lf%d",&n,&k,&c,&w);k=1-0.01*k;c=1+0.01*c;for(int i=1;i<=n;i++)scanf("%d%d",&t[i],&a[i]);for(int i=n;i;i--)if(t[i]==1)ans=max(ans,ans*k+a[i]);elseans=max(ans,ans*c-a[i]);printf("%.2lf\n",ans*w);
}
还是不大懂

 

 

/*T1个人觉得没问题啊,,,,,,
T2水dp,第一次考场上A dp题,太弱了,,,,,
T3没耐心读(我不会告诉你是在聊QQ...)写了个20分暴力光荣爆零......
有这么两个问题吧:
1.读题不认真,导致开始就写错。
2.推dp方程不耐心。
还有就是不能不能不能畏惧dp,,,,,,
*/
conclusion

 

转载于:https://www.cnblogs.com/L-Memory/p/7396631.html

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

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

相关文章

【电路补习笔记】7、磁珠的工作原理、磁珠的分类、磁珠的模型、磁珠的参数、磁珠与电感的区别、磁珠的应用、磁珠的误区

目录简介铁耗磁滞损耗磁珠归类应用对比参数用途电源滤波低通滤波器的设计符号关于单点接地老师的主页&#xff1a;唐老师讲电赛 视频地址&#xff1a;磁珠的工作原理&#xff0c;磁珠的分类&#xff0c;磁珠的模型&#xff0c;磁珠的参数磁珠与电感的区别&#xff0c;磁珠的应用…

几个常用的正则表达式

几个常用的正则表达式(下面是在javascript里面的使用方式): 1. 正则表达式的中文表示 var reg_zh/^[\u4E00-\u9FA5\uF900-\uFA2D]*$/; 2. 正则表达式的英文表示(可以拆分成大小写) var reg_en /^[a-zA-Z]$/; 3. 正则表达式判断特殊字符(可以增减字符) var reg_spechars /^(?…

wordpress教程百科

https://www.xuewangzhan.net/jz/wpbbs/

顺序容器之vector

最近因为需要&#xff0c;在看C primer,哇&#xff0c;感觉这本书真不错&#xff0c;讲的细而且到位&#xff0c;而且大量的练习题&#xff0c;不愧为C学习的经典书籍。今天看了顺序容器方面的内容&#xff0c;现在汇报一下&#xff1a; 一、什么是vector vector是C标准模板库&…

利用python数据分析panda学习笔记之Series

1 Series a&#xff1a;类似一维数组的对象&#xff0c;每一个数据与之相关的数据标签组成 b:生成的左边为索引&#xff0c;不指定则默认从0开始。 1 from pandas import Series,DataFrame 2 import pandas as pd 3 #series 一组数据与相关得数据标签组成 4 objSeries([4,7,-5…

12864 OLED屏显示日历

目录calendar.c测试程序效果普中51-单核-A2 STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 stdint.h见【51单片机快速入门指南】1&#xff1a;基础知识和工程创建 I2C版OLED驱动程序见【51单片机快速入门指南】4.2&#xff1a; SSD1306…

【笔记】iOS开发基础笔记二

1.block 2.didReceiveMemoryWarning 使用 3.HTTP&#xff0c;TCP&#xff0c;UDP 答&#xff1a;HTTP是应用层协议&#xff0c;定义的是传输数据的内容的规范HTTP协议中的数据是利用TCP协议传输的&#xff0c;所以支持HTTP也就一定支持TCP HTTP支持的是www服务 而TCP/IP是协议…

心得体会2-7

通过例题2-7&#xff0c;i1还是il的一次次反复错误导致难以运行&#xff0c;我懂得了输完程序并不只是盯着程序看&#xff0c;还应该看看例题中提示&#xff0c;真正明白表达式是什么意思。转载于:https://www.cnblogs.com/huangsilinlana/p/3349449.html

【动态规划】POJ-2229

一、题目 Description Farmer John commanded his cows to search for different sets of numbers that sum to a given number. The cows use only numbers that are an integer power of 2. Here are the possible sets of numbers that sum to 7: 1) 1111111 2) 111112 3) 1…

【联盛德W806上手笔记】二、GPIO

目录GPIO 控制器库函数函数参数宏极限翻转速度寄存器操作库函数操作测试main.cwm_it.cWindows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 GPIO 控制器 摘自《W806 芯片设计指导书 V1.0》 可配置的 GPIO、软件控制的输入输出、硬件控制的输入输出、可配置中断方式。…

php 显示变量类型

echo "<br/> type ".gettype($my_data);

Java知多少(105)套接字(Socket)

网络应用模式主要有&#xff1a; 主机/终端模式&#xff1a;集中计算&#xff0c;集中管理&#xff1b;客户机/服务器&#xff08;Client/Server,简称C/S&#xff09;模式&#xff1a;分布计算&#xff0c;分布管理&#xff1b;浏览器/服务器模式&#xff1a;利用Internet跨平台…

fastq-dump 报错 解决方案

命令行&#xff1a; ~/sratoolkit/sratoolkit.2.3.2/bin/fastq-dump --split-spot --gzip xxxx.sra 报错信息: fastq-dump.2.3.2 err: name not found while resolving tree within virtual file system module - failed to open xxxx.sra 解决方法&#xff1a; 找不到xxx.sra&…

css格式化排版

body{ font-family:"宋体";} body{font-family:"Microsoft Yahei"&#xff0c;“微软雅黑”;} 2.文字排版--字号、颜色&#xff1a; body{ font-size:12px; color:#666;} 3.文字排版--粗体&#xff1a; p span{ font-weight:bold; } 4.文字排版--斜体&a…

【联盛德W806上手笔记】三、MCU系统与时钟结构

目录总线结构AHB-1 总线AHB-2 总线时钟与复位主要特性时钟结构功能描述时钟门控时钟自适应关断功能复位时钟分频寄存器描述寄存器列表软件时钟门控使能寄存器软件时钟掩码寄存器软件复位控制寄存器时钟分频配置寄存器调试控制寄存器I2S 时钟控制寄存器复位状态寄存器调试功能控…

datatables 搜索框 placeholder 属性

$(#table_id_example).DataTable({"fnPreDrawCallback": function( oSettings ) {$(.dataTables_filter input).attr({name:search,placeholder: 搜索站内新闻公告});//提示},language: {"sProcessing": "处理中...","sLengthMenu": &…

如何开发一个异常检测系统:如何评价一个异常检测算法

利用数值来评价一个异常检测算法的重要性 使用实数评价法很重要&#xff0c;当你用某个算法来开发一个具体的机器学习应用时&#xff0c;你常常需要做出很多决定&#xff0c;如选择什么样的特征等等&#xff0c;如果你能找到如何来评价算法&#xff0c;直接返回一个实数来告诉你…

计算机类产品评价技术指标体系研究之图形(像)篇

(一&#xff09;显卡对于核心的显卡来说&#xff0c;显存工作频率越高性能越好&#xff0c;而显存的ns数值越小的显存能跑更高的频率&#xff0c;所以显存的ns被认为是显卡选购的关键之一&#xff0c;另外就是显存的品牌。显卡和主板上都有“内存”&#xff0c;不过主板上的那种…

【联盛德W806上手笔记】四、PWM模块

目录PWM 控制器库函数函数参数宏测试程序独立模式main.cwm_hal_msp.cwm_it.c实验现象多通道同步模式main.cwm_hal_msp.cwm_it.c实验现象Windows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 芯片设计指导书 V1.0》、《W806 MCU 芯片规格书 V2.0》 PWM 控制器 5 …