问题 D: 小凯的迷惑

时间限制: 1 Sec 内存限制: 128 MB

题目描述
小凯有一天突发奇想,写下了一串数字:l(l+1)(l+2)…(r−1)r
例如:l=2,r=5时,数字为:2345
l=8,r=12时,数字为:89101112
小凯很喜欢数字9,所以他想问你他写下的数字除以999的余数是多少
例如:l=2,r=5时,2345 mod 9= 5

输入
第一行为数字 Q ,表示小凯有 Q 个问题 第 2−Q+1行,每行两个数字 l,r表示数字范围
输出
对于每行的问题输出一行,一个数字,表示小凯问题的回答

样例输入
样例1
2
2 5
8 12
样例2
3
1 999
123 456
13579 24680
样例输出
样例1
5
5
样例2
0
6
0

提示
样例1解释:
2345 mod 9 = 5
89101112 mod 9 = 5

30% 数据满足:Q≤10;l,r≤100
50%数据满足:Q≤100;l,r≤10^4
70%数据满足:Q≤1000;l,r≤10^6
100%100%100% 数据满足:Q≤10^4;0<l, r≤10^12

题解:

详见此处大佬博文

// D.数学、数论、模拟
#include <bits/stdc++.h>
#define ll long long
ll l,r,q,sum[9];int main()
{scanf("%d",&q);for(int i=1;i<9;i++)  sum[i]=(sum[i-1]+i)%9;while(q--){scanf("%lld%lld",&l,&r);printf("%d\n",(sum[r%9]-sum[(l%9-1+9)%9]+9)%9);}return 0;
}

问题 E: 小凯不疑惑

时间限制: 1 Sec 内存限制: 256 MB

题目描述
现在有m+1个星球,从左到右标号为0到m,小L最初在0号星球。
有n处矿体,第i处矿体有ai单位原矿,在第bi个星球上。
由于飞船使用的是老式的跳跃引擎,每次它只能从第x号星球移动到第x+4号星球或x+7号星球。每到一个星球,小L会采走该星球上所有的原矿,求小L能采到的最大原矿数量。
注意,小L不必最终到达m号星球。

输入
第一行2个整数n,m
接下来n行,每行2个整数ai,bi。
输出
输出一行一个整数,表示要求的结果。

样例输入
3 13
100 4
10 7
1 11
样例输出
101

提示
样例解释:第一次从0到4,第二次从4到111,总共采到101单位原矿

对于 20%的数据 n=1 ,m≤10^5
对于 40%的数据 n≤15,m≤10^5
对于 60%的数据 m≤10^5
对于 100%的数据 n≤10^5, m≤10^9, 1≤ai≤10^4,1≤bi≤m

题解:

我们定义DP[i]表示到i这个星球可以获得的最大原矿,很容易相处状态转移方程,DP[i]=max(DP[i-4],DP[i-7])+a[i],a[i]表示i这个星球可以获得的原矿数目。现在唯一的问题就是MLE,因为m的值太大所以我们会炸,想一下怎么解决,我们可以采用离散化(然而我不知道这是不是离散化,没学过不过感觉很像),我们可以发现n<=100000,我们考虑从n入手,可是转移的过程又和m有关,我们发现如果两个星球之间的距离可以分解成几个4相乘加几个7相乘那么这样就可以转移,我们通过计算发现在所有数中只有1 2 3 5 6 9 10 13
17这几个不可以,所以我们特判一下。思路就是我们把所有距离大于17(没有等于)的全部看成相距18,那么这样距离就大大被我们缩短了,我们就可以正常DP了。

// E.DP、离散化
#include <bits/stdc++.h>
using namespace std;struct kuang {int a,b;
}ac[100100];bool cmp(const kuang x,const kuang y) {return x.b<y.b;
}int dp[2000100],much[2000100];int main()
{int n,m,ans=0,now=0;scanf("%d %d",&n,&m);for(int i=1; i<=n; i++)//读入数据 {int x,y;scanf("%d %d",&ac[i].a,&ac[i].b);}sort(ac+1,ac+1+n,cmp);//我们排序一下确保星球按照位置排序,方便我们后面处理 for(int i=1;i<=n;i++){if(ac[i].b-ac[i-1].b>17)//判断一下这一个与前一个的距离 now+=18,much[now]+=ac[i].a;//大于17一律看成18,我们用much数组记录我们压缩后路径上对应位置上的原矿,now则是压缩后的总路径 else now+=ac[i].b-ac[i-1].b,much[now]+=ac[i].a;//否则就按照实际距离计算 }for(int i=1;i<=now;i++)//全部初始化 dp[i]=-1;for(int i=0;i<=now;i++){if(dp[i]==-1)//如果我们这个点都不可以到达就跳过 continue;dp[i+4]=max(dp[i+4],dp[i]+much[i+4]);//否则用它来更新其他的 dp[i+7]=max(dp[i+7],dp[i]+much[i+7]);ans=max(ans,dp[i]);//因为可以随时停下所以我们随时记录最大值 }printf("%d",ans);//输出答案 return 0;
}

UPC 2020年夏混合个人训练第六十三场相关推荐

  1. UPC 2020年夏混合个人训练第六十场

    问题 E:BAKA 题目描述 Mirko 的奶奶还在使用一种如下图所示的古老的跳盘拨号式电话: 对于我们要拨的每个数字,我们需要顺时针地转动拨号盘,直到被选中的数字到达金属指针的位置.每个数字被拨打后 ...

  2. UPC 2020年夏混合个人训练第五十场【DEG】

    问题 D: 01矩阵 时间限制: 1 Sec 内存限制: 128 MB 样例输入 2 2 1 1 样例输出 10 提示 对于20%的数据:n,m,x,y≤3 对于40%的数据:n,m,x,y≤70 对 ...

  3. UPC 2020年夏混合个人训练第八十一场

    HDXM,给点支持吧啊,练了一晚上的科三了,十点多才到家,每天还要早起准备各种东西,也是有点辛苦了. 问题 A: 能量消耗 cost 题目描述 Rainy7 的一生注定不平凡. 在一次睡梦中,她梦见自 ...

  4. UPC 2020年夏混合个人训练第六十四场【ACDG】

    问题 A: 纽约 题目描述 印度洋暖流温润着纽约,四季丰沛的雨水造就了一望无际的大草原.蒙古包是纽约最独特的一道风景线,每至二月中旬,纽约的土著傣族人民又开始半年一度的转场了. 由于牲畜和行李过多,牧 ...

  5. UPC 2020年夏混合个人训练第四十九场【EFG】

    问题 E: 晚餐排队 时间限制: 1 Sec 内存限制: 128 MB 题目描述 为了避免餐厅过分拥挤,FJ要求奶牛们分2批就餐.每天晚饭前,奶牛们都会在餐厅前排队入内,按FJ的设想,所有第2批就餐的 ...

  6. UPC 2020年夏混合个人训练第七十五场

    问题 A: building 时间限制: 1 Sec 内存限制: 128 MB 题目描述 WOW是BLIZZARD公司开发的一款网络游戏,游戏的背景是处在一个叫做艾泽拉斯的神秘大陆上的.在这片陆地上生 ...

  7. UPC——2020年春混合个人训练第二十五场(FG)

    太菜了只能写写签到 问题 F: 求生大作战 时间限制: 1 Sec 内存限制: 128 MB [提交] [状态] 题目描述 PinkRabbit 又趁 Czhou 不注意划水了,今天他打开了求生大作战 ...

  8. UPC——2020年春混合个人训练第二十四场(DEFG)

    D.坏掉的手表 时间限制: 1 Sec 内存限制: 128 MB [提交] [状态] 题目描述 有个手表坏了,时间为HH:MM,你要把这个不合法的时间变为合法,请求出最少要动几位 输入 第一行表示手表 ...

  9. UPC 2020年春混合个人训练第十九场

    问题 A: 新的世界 时间限制: 1 Sec 内存限制: 128 MB 题目描述 小学五六年级的乔猫是一个喜欢不务正业写游戏的孩纸--他曾经模仿著名的沙盒游戏<Minecraft>做过一个 ...

最新文章

  1. 面试官三连问:你这个数据量多大?分库分表怎么做?用的哪个组件?
  2. Github下载量10万次,最终被所有大厂封杀!
  3. Android知识点复习2(Service)
  4. 全球及中国水彩调色板行业销售前景与投资商机研究报告2022版
  5. IP 基础知识“全家桶”,45 张图一套带走!
  6. 结对项目--wordCount
  7. MIT课程全面解读2019深度学习最前沿 | 附视频+PPT
  8. 济源一中2021高考成绩查询,济源一中2019高考成绩喜报、一本二本上线人数情况...
  9. corosync配置与详解
  10. 基于 HTML5 Canvas 的 3D 热力云图效果
  11. mysql gay锁_MySQL事务(二) - osc_gay6i4ve的个人空间 - OSCHINA - 中文开源技术交流社区...
  12. 激光打标机二次开发C#实例分享(附带实例源码)
  13. 提醒我 做学问要刨根究底
  14. 【win10】win10开机黑屏时间长或只有鼠标解决办法,亲测可用
  15. 运算放大器---转换速率(slew rate)
  16. 六年级小学生做的个人网站
  17. 老笔记本电脑机械500GB升级固态1T
  18. Global Terrorism Database
  19. 小学三年级计算机上册课后反思,三年级上册数学教学反思
  20. 基地树洞 |如何用selenium解决生活中的烦恼?

热门文章

  1. 平方根法matlab,MATLAB數值分析之平方根法
  2. 推荐几款优秀的搜素引擎
  3. java 回合制_java – 用于j2me“回合制”游戏的Gameloop
  4. spring 注解方式 事务管理
  5. 无法访问windows安装服务_香港香港服务器被DDOS和CC攻击
  6. 畅销80国世界级励志书:不抱怨的世界
  7. 经验似然课程笔记三:经验似然的基本思想
  8. 怎么找到Windows 64位的操作系统里的32位的IE浏览器?
  9. MP3音频歌词添加背景
  10. 网易云课堂的不良体验总结