bzoj2217:[Poi2011]Lollipop
容易發現題目給的條件對數值的維護增長很慢,故可使用調整法,具體細節見程式碼(好像強行多了一個
#include<bits/stdc++.h>
#define rep(i,k,n) for(int i=k;i<=n;i++)
#define rep2(i,k,n) for(int i=k;i>=n;i--)
using namespace std;
void sc(int& x){x=0;char c=getchar();while(c>'9' || c<'0')c=getchar();
for(;c>='0' && c<='9' ;c=getchar())x=x*10+c-'0';
}
const int N=1e6+7;
int s[N],n,m,a[N],nxt[N],cc=N;
int find(int x){
int l=1,r=n;
while(l<r){
int mid=(l+r+1)>>1;
if(s[mid]<=x)l=mid;
else r=mid-1;
}return l;
}
char c[N];
void solve(int& l,int& r,int q){
if(q==1){l=r=cc;return ;}
if(s[r]-s[l-1]==q)return;
if(a[l]==1)l++,r++;
else{
int len1=nxt[l]-l;
int len2=nxt[r]-r;
if(len1+1<len2)l+=len1+1,r+=len1+1;
else l+=len2-1,r+=len2;
}
}
int main(){
scanf("%d%d%s",&n,&m,c+1);rep(i,1,n)if(c[i]=='T')a[i]=2;else a[i]=1 ,cc=i;
rep(i,1,n)s[i]=s[i-1]+a[i];int now=n+1;
rep2(i,n,1){
nxt[i]=now;
if(a[i]==1)now=i;
}
rep(i,1,m){
int q;sc(q);
if(q>s[n])puts("NIE");
else{
int pos=find(q),l=1;
solve(l,pos,q);
if(pos>n)puts("NIE");
else printf("%d %d\n",l,pos);
}
}
}
相關推薦
BZOJ2217: [Poi2011]Lollipop
clu lollipop isdigit ans line 奇偶性 -- zoj getchar 這題挺邪的,主要是觀察分析性質吧 首先對於一段區間,它肯定滿足以下條件之一: 1.左端點有 2 2.右端點有2 3.左右端點都有1 那麽就有,當前區間的答案的奇偶性相
bzoj2217:[Poi2011]Lollipop
容易發現題目給的條件對數值的維護增長很慢,故可使用調整法,具體細節見程式碼(好像強行多了一個log) #include<bits/stdc++.h> #define rep(i,k,n)
【BZOJ2217】[Poi2011]Lollipop 亂搞
getch 記錄 spa style using 子序列 ++ brush highlight 【BZOJ2217】[Poi2011]Lollipop Description 有一個長度為n的序列a1,a2,...,an。其中ai要麽是1("W"),要麽是2("T"
BZOJ 2217: [Poi2011]Lollipop
若sum可行 sum-2一定可行 序列和為ans 找出和ans奇偶性不同的最大的ans,即最靠左或最靠右的1的位置 更新答案 有spj #include<cstdio> using namespace std; int L[2000005],R[2000005],a[20000
Bzoj2280 [Poi2011]Plot
solved submit scanf amp ring input 最小圓覆蓋 user 評測 Time Limit: 300 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 392 Solved: 79 Desc
Android lollipop 更新問題
article sdn 地址 mirrors con class div 版本 ext 非常多朋友都說lollipop出來想試用一下,結果在網官下載的android studio 都是20版本號,也沒有看見更新到android 5.0。 我也在網上狂了一下,收集到一
BZOJ2527: [Poi2011]Meteors
分享 -- 維護 read try img amp inline rac 這個。。。一開始用的是longlong 然後改成int就wa了。。。。 時間墊底。。。。。 可怕 全局分治 然後用線段樹維護的時候直接永久化標記 不用下傳 然後
【BZOJ2216】[Poi2011]Lightning Conductor 決策單調性
隊列 節點 zoj blog output tdi 最小 class clas 【BZOJ2216】[Poi2011]Lightning Conductor Description 已知一個長度為n的序列a1,a2,...,an。對於每個1<=i<=n,
【bzoj2527】[Poi2011]Meteors 整體二分+樹狀數組
string size 單位 mod 直接 mes brush algorithm 成員 題目描述 有N個成員國。現在它發現了一顆新的星球,這顆星球的軌道被分為M份(第M份和第1份相鄰),第i份上有第Ai個國家的太空站。 這個星球經常會下隕石雨。BIU已經預測了接下來K
【BZOJ2529】[Poi2011]Sticks 貪心
cpp inline 排序 line 三角形 pre out truct using 【BZOJ2529】[Poi2011]Sticks Description 給出若幹木棍,每根木棍有特定的顏色和長度。問能否找到三條顏色不同的木棍構成一個三角形。(註意這裏所說的三
安卓權威編程指南 挑戰練習(第26章 在 Lollipop 設備上使用 JobService)
gallery sha params build 運行 intent ble 一次 lol 26.11 挑戰練習:在 Lollipop 設備上使用 JobService 請創建另一個 PollService 實現版本。新的 PollService 應該繼承 JobServ
bzoj 2276: [Poi2011]Temperature——單調隊列
連續 none input per open 路徑 span inpu 位置 Description 某國進行了連續n天的溫度測量,測量存在誤差,測量結果是第i天溫度在[l_i,r_i]範圍內。 求最長的連續的一段,滿足該段內可能溫度不降 第一行n 下面n行,每行
BZOJ2276: [Poi2011]Temperature
std opened 最長 hid 區間 ges 技術 emp tin n<=1000000個數,每個數的選擇範圍在Li到Ri<=1000000000之間,求最長能得到多長的連續不下降序列。 首先可以暴力,f[i][j]表示前i個數,最後一個數取j,然後瞎轉移就
[BZOJ] 2276: [Poi2011]Temperature
clu pan rep access int com tun sub out 2276: [Poi2011]Temperature Time Limit: 20 Sec Memory Limit: 32 MBSubmit: 731 Solved: 334[Subm
Android 5.0 Lollipop介紹
seq 手勢 不包含 傾斜 pan 配色方案 lol for gles Android Lollipop介紹 Android 5.0 Lollipop,此版本為用戶提供了豐富的新功能,並為開發者新增了數以千計的 API,它進一步擴展了 Android 的應用範圍,從手機
【BZOJ2525】[Poi2011]Dynamite 二分+樹形DP
接下來 family string style tput include n-1 poi mic 【BZOJ2525】[Poi2011]Dynamite Description Byteotian Cave的結構是一棵N個節點的樹,其中某些點上面已經安置了炸.藥,現
POI2011 MET-Meteors
define ret printf d+ post 一個 poi c++ esp 首先看上來就可以進行二分,但是答案是n個,所以我們進行整體二分,每次分成兩個集合,一個集合可以完成,一個不可以,然後繼續二分即可。 學習了Vergil學長的做法,偷懶用了vector,然後lu
BZOJ2212 [Poi2011]Tree Rotations 線段樹合並 逆序對
htm namespace 逆序 post php .html mat () targe 原文鏈接http://www.cnblogs.com/zhouzhendong/p/8079786.html 題目傳送門 - BZOJ3286 題意概括 給一棵n(1≤n≤20
BZOJ2277: [Poi2011]Strongbox
iostream 找到 using ide clu sse 數字 爆炸 規則 n<=10^14,0~n-1中有一些數是密碼,且滿足:a是密碼,b是密碼,那麽(a+b)%n也是密碼(a,b可相等),現小明試了m<=250000個數,前面都錯,最後一個對,問n個數中
【bzoj2216】[Poi2011]Lightning Conductor 1D1D動態規劃優化
規劃 sample long 得到 mes tput stream truct 優化 Description 已知一個長度為n的序列a1,a2,…,an。對於每個1<=i<=n,找到最小的非負整數p滿足 對於任意的j, aj < = a