2016.11.05【初中部 NOIP提高组 】模拟赛C
来源:互联网 发布:普通笔记本装mac系统 编辑:程序博客网 时间:2024/06/16 08:39
T1:设f[i]表示到i个烽火台而且第i个台必选的最小代价。则f[i]=min(f[j])+a[i](i-m<=j<=i-1).因为在i-1到i-m中至少选一个才能符合要求。但这样会超时,所以我们要用一个堆来维护f[i-1至i-m]的最小值。
T2:这一题的整解是水法.用s[i]表示a[1]到a[i]的和,求出s之后用二重循环枚举所选择序列的开头和结尾,然后判断这一段的和是否是n的倍数,如果是则输出。
T3:用f[i][j]表示前第i个村庄选了j个邮局,且第i村庄必选的最小花费。则我们要用一个k来枚举1到i-1之间的村庄,表示k到i之间的村庄都不选,那么就可以求出f[i][j]。
以下是两个优化:
1、用前缀和优化
2、因为序列是递增的,所以不用使用前缀和。
T4:先把所有的a[i],b[i]化成互质,然后把所有的b[i]分解质因数,再把相同的质因数乘起来,再转成16进制就行了,但是要用高精度。
这题有几个要注意的地方:
1、b[i]有可能包含一个十分大的质因数,所以我们在分解完质因数的时候,要再把b[i]乘上(一直被这个地方卡了很久)。
2、在分解质因数之前,要用线性筛法筛出质数,范围是300000以内(在这个地方也卡了一下)。
这题有一个值得学习的地方:在转16进制的时候,如果高精度之后再转,会有许多细节问题。我们可以把高精度中的mod 10,/10改成mod 16,/16就行了,不必单独转换。
T3:用f[i][j]表示前第i个村庄选了j个邮局,且第i村庄必选的最小花费。则我们要用一个k来枚举1到i-1之间的村庄,表示k到i之间的村庄都不选,那么就可以求出f[i][j]。
以下是两个优化:
1、用前缀和优化
2、因为序列是递增的,所以不用使用前缀和。
T4:先把所有的a[i],b[i]化成互质,然后把所有的b[i]分解质因数,再把相同的质因数乘起来,再转成16进制就行了,但是要用高精度。
这题有几个要注意的地方:
1、b[i]有可能包含一个十分大的质因数,所以我们在分解完质因数的时候,要再把b[i]乘上(一直被这个地方卡了很久)。
2、在分解质因数之前,要用线性筛法筛出质数,范围是300000以内(在这个地方也卡了一下)。
这题有一个值得学习的地方:在转16进制的时候,如果高精度之后再转,会有许多细节问题。我们可以把高精度中的mod 10,/10改成mod 16,/16就行了,不必单独转换。
0 0
- 2016.11.05【初中部 NOIP提高组 】模拟赛C题解
- 2016.11.05【初中部 NOIP提高组 】模拟赛C
- 2016.5.14【初中部 NOIP提高组 】模拟赛C总结
- {小结}2016.5.21【初中部 NOIP提高组 】模拟赛C
- {小结}2016.5.28【初中部 NOIP提高组 】模拟赛C
- 2016.5.28【初中部 NOIP提高组 】模拟赛C
- {小结}2016.6.11【初中部 NOIP提高组 】模拟赛C
- 2016.6.11【初中部 NOIP提高组 】模拟赛C
- 2016.6.11【初中部 NOIP提高组 】模拟赛C总结
- 2016.6.11【初中部 NOIP提高组 】模拟赛C 总结
- 2016.4.23【初中部 NOIP提高组 】模拟赛C
- 2016.6.25【初中部 NOIP提高组 】模拟赛C
- {小结}2016.07.07【初中部 NOIP提高组 】模拟赛C
- {小结}2016.07.08【初中部 NOIP提高组 】模拟赛C
- 2016.07.08【初中部 NOIP提高组 】模拟赛C
- {小结}2016.07.11【初中部 NOIP提高组 】模拟赛C
- 2016.07.13【初中部 NOIP提高组 】模拟赛C
- 2016.07.13【初中部 NOIP提高组 】模拟赛C题目
- 全排列 递归方法的步骤分析
- 高效管理文件之压缩及解压缩 .bz2 文件
- codeforces 735D Taxes 哥德巴赫猜想
- Pixhawk学习笔记(5)——PX4FLOW光流传感器调试过程记录
- 启动代码 START.s 和u-boot区别&联系
- 2016.11.05【初中部 NOIP提高组 】模拟赛C
- Android Activity启动模式
- java springMVC SSM 操作日志 4级别联动 文件管理 头像编辑 shiro redis
- C语言函数传递指针参数的问题
- 这样的外衣值得拥有
- [回归分析][10]--相关误差的问题
- 忽然长大
- hibernate5.25简单配置
- centOS下,怎么能快速锁屏