“玲珑杯”线上赛 Round #15 A Reverse the lights(dp)
来源:互联网 发布:2手车评估软件 编辑:程序博客网 时间:2024/05/22 07:04
DESCRIPTION
有nn个灯,初始时都是不亮的状态,每次你可以选择一个某一个灯,不妨记为xx,所有满足和xx距离不超过kk的灯的状态都将被翻转,选择第ii个灯的代价记为cici,问最终所有灯都是亮的状态的最小花费.
INPUT
输入有两行,第一行包含两个正整数n(1≤n≤10000)和k(0≤k≤1000)n(1≤n≤10000)和k(0≤k≤1000)第二行包含nn个整数,分别表示ci(0≤ci≤109)ci(0≤ci≤109)
OUTPUT
输出一行表示答案
SAMPLE INPUT
3 11 1 1
SAMPLE OUTPUT
1
思路:对于每一次的操作,显然其周围的2k个灯不会有状态翻转,否则这次就是无效的,于是转换为简单的动态规划问题.令dp(i)表示将前i+k个灯全部点亮的最小花费,直接转移即可.
时间复杂度:O(n)
代码:
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;const int maxn=10010;const long long INF = 1e13;int n, k;long long dp[maxn], c[maxn];int main() { scanf("%d%d",&n,&k); for(int i = 1; i <= n; i++) scanf("%lld", &c[i]); for(int i = 0; i <= n; i++) dp[i] = INF; long long ans = INF; //1...k,k+1,打开里面任意一盏灯,其左侧灯会全亮 for(int i = 1; i <= 1 + k; i++){ if(i > n) break;//超过n即停止 dp[i] = c[i]; if(i + k >= n) ans = min(ans, dp[i]); } for(int i = 2 * k + 2; i <= n; i++){ dp[i] = dp[i - k - k - 1] + c[i]; if(i + k >= n) ans = min(ans, dp[i]); } printf("%lld\n",ans); return 0;}
阅读全文
0 0
- “玲珑杯”线上赛 Round #15 A Reverse the lights(dp)
- DP训练 玲珑杯线上赛 Round #15 河南专场:A -- Reverse the lights [线性DP]
- “玲珑杯”线上赛 Round #15 河南专场 A -- Reverse the lights DP
- “玲珑杯”线上赛 Round #15 河南专场:A -- Reverse the lights
- “玲珑杯”线上赛 Round #15 咸鱼文章(栈)
- “玲珑杯” 线上赛 Round #15 咸鱼拷问(RMQ)
- “玲珑杯”线上赛 Round #15 河南专场 C
- “玲珑杯” 线上赛 Round #5 Variance(线段树)
- “玲珑杯”线上赛 Round #15 咸鱼魔法记(二分搜索)
- “玲珑杯”线上赛 Round #15 咸鱼魔法记(尺取法)
- “玲珑杯”线上赛 Round #15 咸鱼商店(二分搜索+01背包)
- “玲珑杯”线上赛Round#17河南专场 A. Sin your life
- 玲珑杯round#6 1068 - Lights
- “玲珑杯”线上赛 Round #15 河南专场:F -- 咸鱼文章
- “玲珑杯”线上赛 Round #15 河南专场:G -- 咸鱼拷问
- “玲珑杯”线上赛 Round #15 河南专场:E -- 咸鱼旅行
- “玲珑杯”线上赛 Round #15 河南专场:C -- 咸鱼魔法记
- “玲珑杯”线上赛 Round #15 河南专场 F -- 咸鱼文章
- OOP和MVC区别
- Sofia-SIP辅助文档三
- CAS服务器集群和客户端集群环境下的单点登录和单点注销
- CyclicBarrier CountDownLatch以及Semaphore
- VMware Workstation虚拟机 安装 Ubuntu 16.04 LTS
- “玲珑杯”线上赛 Round #15 A Reverse the lights(dp)
- 选择排序
- IntelliJ Idea 常用快捷键列表
- 抓包工具Fiddler 检测后台接口数据
- java-线程的终止和调度
- 快速确定linux下long long最大值
- Session设置
- GBDT(MART) 迭代决策树入门教程 | 简介
- 文章标题