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;磁珠的应用…

利用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…

【联盛德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、软件控制的输入输出、硬件控制的输入输出、可配置中断方式。…

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

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

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

利用数值来评价一个异常检测算法的重要性 使用实数评价法很重要&#xff0c;当你用某个算法来开发一个具体的机器学习应用时&#xff0c;你常常需要做出很多决定&#xff0c;如选择什么样的特征等等&#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 …

C#中如何稳定精确地每隔5ms执行某个函数?

C#中如何稳定精确地每隔5ms执行某个函数&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「C#的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&#xf…

【联盛德W806上手笔记】五、TIM定时器

目录定时器库函数函数参数宏Demo中的测试程序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》 定时器 微秒与毫秒计时&#xff08;据时钟频率配置计数个数&#xff…

IOS-企业开发人员账号amp;邓白氏码申请记录

Apple开发人员账号分三种&#xff0c;个人。公司&#xff0c;还有企业。个人和公司都称为标准账号。另一种是教育机构的账号。 账号介绍 个人和公司的就不说了。如今仅仅说企业账号 首先是申请企业账号的地址&#xff1a; https://developer.apple.com/programs/ios/enterpri…

wordpress置顶文章调用与设置

文章来源: https://www.xuewangzhan.net/wpbbs/15737.html wordpress网站后台允许我们设置一些置顶文章&#xff0c;然后通过调用置顶文章的代码把它调用到自己的网站前台。 下面是最常用的wordpress调用置顶文章代码&#xff0c;适用于所有模板使用。 <?php $sticky g…

【联盛德W806上手笔记】六、7816/UART 控制器

目录7816/UART 控制器串口功能7816 接口功能下载口库函数函数参数宏Demo中的测试程序main.cwm_hal_msp.cwm_it.cfifo.cfifo.hWindows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 芯片设计指导书 V1.0》、《W806 MCU 芯片规格书 V2.0》 7816/UART 控制器 设备端…

【联盛德W806上手笔记】七、I2C

目录WM_SDK_W806_v0.6.0的库函数函数参数宏应用示例初始化使用测试I2C 控制器功能概述主要特性功能描述传输速率选择中断及启动停止可控快速输出及检测信号寄存器描述寄存器列表时钟分频寄存器_1时钟分频寄存器_2控制寄存器数据寄存器收发控制寄存器TXR 读出寄存器CR 读出寄存器…

【联盛德W806上手笔记】八、SPI及其DMA

目录高速 SPI 设备控制器库函数函数参数宏应用示例初始化引脚复用中断相关使用注意事项DataAlignmentDirection测试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 芯片规格书…

安装配置 radicale

为什么80%的码农都做不了架构师&#xff1f;>>> 可以直接pip安装,也可以下载源码安装,如果要存储到sql里面,则需要下载源码包,用里面的schema.sql 建表 默认安装后没有相应的配置文件,源码包里面也包含了 logging 和config,放到/etc/radicale 下 安装没什么说的,下…

【联盛德W806上手笔记】九、DMA

目录DMA 控制器功能概述功能描述DMA 通道DMA 数据流DMA 循环模式DMA 传输模式DMA 外设选择DMA 链表模式DMA 中断中断请求库函数函数参数宏应用Windows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 MCU 芯片规格书 V2.0》、《WM_W800_寄存器手册 V2.1》 DMA 控制…

SNF快速开发平台MVC-自由排序组件

1. 自由排序功能使用 在一些需要排序优先级的数据进行调整处理&#xff0c;如民族数据&#xff0c;在北方实施的时候汉族比较多&#xff0c;希望把汉族放在第一位。在蒙古实施项目时&#xff0c;蒙古族人最多把蒙古族放在第一选择位。 1.1. 效果展示 图 1.1 1.2. …

【联盛德W806上手笔记】十、ADC

目录ADCADC 电路设计库函数函数参数宏Demo中的例程main.cwm_hal_msp.cwm_it.cWindows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 芯片设计指导书 V1.0》、《W806 MCU 芯片规格书 V2.0》 ADC 基于 Sigma-Delta ADC 的采集模块&#xff0c;集成 4 路 16 比特 AD…

【电路补习笔记】8、稳压电路 —— 线性电源及LDO

目录有名的电源芯片品牌DCDC电源分类开关电源vs线性稳压器线性电源参数线性电源工作原理集成稳压器78/79系列&#xff08;固定输出电压&#xff09;正、负对称输出两组电源的稳压电路扩展输出电压扩大输出电流LM317/LM337&#xff08;可调输出电压&#xff09;正、负对称输出两…

ajax代码整理

$.ajax({ type: "post", 【以POST或GET的方式请求。默认GET。PUT和DELETE也可以用&#xff0c;有的浏览器不支持】 url: url, 【请求的目的地址&#xff0c;须是一个字符串。】 contentType: "application/json", 【以哪种数据类型发送请求】 data: data, …