[CF587-F]WI-FI
显然DP题...
f[i][0]表示这个点不装路由器,f[i][1]表示装路由器
转移也很简单,在前面一段区间找最小值就好了
但是直接转移是$O(n*k)$的,会T掉
大佬说这个东西有单调性,但是菜鸡我找不到,因为是区间问题,所以线段树强上
区间查询+单点修改
#include<bits/stdc++.h>
#define int long long
#define inf (0x7f7f7f7f7f7f7f)
using namespace std;
inline int read(){
int ans=,f=;char chr=getchar();
while(!isdigit(chr)){if(chr=='-') f=-;chr=getchar();}
while(isdigit(chr)){ans=(ans<<)+(ans<<)+chr-;chr=getchar();}
return ans*f;
}const int M = 2e5+;
struct Segment_Tree{
int s[M<<];
#define mid (l+r>>1)
#define ls (i<<1)
#define rs (i<<1|1)
inline void Push_Up(int i){s[i]=min(s[ls],s[rs]);}
void Build(int i,int l,int r){
if(l==r)return (void)(s[i]=inf);
Build(ls,l,mid),Build(rs,mid+,r);
Push_Up(i);
}void Update(int i,int l,int r,int pos,int x){
if(l==r)return (void)(s[i]=min(s[i],x));
if(pos<=mid) Update(ls,l,mid,pos,x);
else Update(rs,mid+,r,pos,x);
Push_Up(i);
}int Query(int i,int l,int r,int ql,int qr){
if(ql<=l&&r<=qr)return s[i];
int t1=inf,t2=inf;
if(ql<=mid) t1=Query(ls,l,mid,ql,qr);
if(qr>mid) t2=Query(rs,mid+,r,ql,qr);
return min(t1,t2);
}
}T1,T2;
char s[M];
int n,m,k,f[M][];
signed main(){
n=read(),k=read();
scanf("%s",s+);
T1.Build(,,n),T2.Build(,,n);
memset(f,0x3f,sizeof(f));
T2.Update(,,n,,f[][]=f[][]=);
for(int i=;i<=n+;i++){
f[i][]=T1.Query(,,n,max(i-k,1ll),i-);
if(s[i]=='') f[i][]=T2.Query(,,n,max(1ll,i-k-),i-)+i-;
else f[i][]=min(T1.Query(,,n,max(1ll,i-k-),i-),min(f[i-][],f[i-][]))+i-;
T2.Update(,,n,i,min(f[i][],f[i][]));
if(s[i]=='') T1.Update(,,n,i,f[i][]);
}cout<<min(f[n+][],f[n+][]);
return ;
}
[CF587-F]WI-FI的更多相关文章
- 【hdu4734】【F(x)】数位dp + 小小的总结一下
(https://www.pixiv.net/member_illust.php?mode=medium&illust_id=65608478) Problem Description For ...
- Mysql_以案例为基准之查询
查询数据操作
- 关于C++对汉字拼音的处理——终结篇
以前写过了3个博文,都是关于汉字转拼音的,后来发现都不是很“完美”的解决方案,第一个和第二个利用的unicode编码的范围进行确定汉字的拼音,但是难免有遗漏,这个在后面的实践中发现的,后来第三个方法是 ...
- ISO7816协议中几个时间
T=0协议 第一.初始等待时间: 复位应答时,卡片回复的连续两个数据的起始沿之间的时间间隔,这个时间间隔不超过9600etu, 在波 特率为9600是,该时间为1s 第二.GT: 两个连续字符之间的最 ...
- bzoj1649 [Usaco2006 Dec]Cow Roller Coaster
Description The cows are building a roller coaster! They want your help to design as fun a roller co ...
- BZOJ 1649: [Usaco2006 Dec]Cow Roller Coaster( dp )
有点类似背包 , 就是那样子搞... --------------------------------------------------------------------------------- ...
- android intent收集转载汇总
Intent intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS); ComponentName comp = ...
- 01背包dp+并查集 Codeforces Round #383 (Div. 2)
http://codeforces.com/contest/742/problem/D 题目大意:有n个人,每个人有重量wi和魅力值bi.然后又有m对朋友关系,朋友关系是传递的,如果a和b是朋友,b和 ...
- C# 经典入门12章-使用泛型-1
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8sAAAK5CAIAAAAHDiuGAAAgAElEQVR4nOyd9V9Uzfv/v3/J0t0N0p
- 使用sed删除拼音的音调
*/ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...
随机推荐
- NOIp2018集训test-10-4/test-10-5 (联考四day1/day2)
这个day1稍微有点毒瘤吧?? DAY1 排列 以前总是把day1t1想太复杂了翻车,差不多往正解的方向想了一下感觉不可能这么复杂这可是noipday1t1啊一定有非常简单的方法然后翻车了?? 题目转 ...
- Unity3D中的线程与协程
线程 Unity3D是以生命周期主线程循环进行游戏开发. Unity3D中的子线程无法运行Unity SDK(开发者工具包,软件包.软件框架)跟API(应用程序编程接口,函数库). 限制原因:大多数游 ...
- (转)The connection to adb is down, and a severe error has occured. .
转:http://blog.csdn.net/yu413854285/article/details/7559333 启动android模拟器时.有时会报The connection to adb i ...
- ggplot2在一幅图上画两条曲线
ggplot2在一幅图上画两条曲线 print(data)后的结果是 C BROWN.P MI.P 0 0.9216 0.9282 30 0.9240 0.9282 100 0.9255 0.9282 ...
- ionic-CSS:ionic 卡片
ylbtech-ionic-CSS:ionic 卡片 1.返回顶部 1. ionic 卡片 近年来卡片(card)的应用越来越流行,卡片提供了一个更好组织信息展示的工具. 针对移动端的应用,卡片会根据 ...
- postman中如何传数组
方法一: postman的传参: java接收: package com.nps.base.xue.xd.groovyEngine import com.google.gson.Gson import ...
- 剑指offer——25链表中环的入口节点
题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null. 题解: 使用快慢指针即可,若快慢指针会相遇,则有环,否则快指针先到空节点: 此时,快指针从此处一次移一步遍历, ...
- 802.11ac wave2的前世今生
2015年下半年,高通.博通.RTL等芯片厂商相继发布了满足802.11ac wave2要求的芯片,WLAN及终端厂商也迅速跟进推出相应的产品和终端.802.11ac wave2在多方推动下于2015 ...
- Java 并发工具包——ExecutorService常用线程池
1. 执行器服务 ExecutorService java.util.concurrent.ExecutorService 接口表示一个异步执行机制,使我们能够在后台执行任务.因此一个 Executo ...
- 《Java语言程序设计》编程练习6.18(检测密码)
6.18 (检测密码)一些网站对于密码具有一些规则.编写一个方法,检测字符串是否是一个有效密码. 假定密码规则如下: • 密码必须至少8位字符. • 密码仅能包含字母和数字. ...