這道題思路很好想
但是實現實在是困難
主要是對於部分c的資訊沒有給出時
進行最小的字典序貪心處理
以及對於列舉的右端點在處理後的區間外部時
要進行特判,否則會將原本用來佔位的位置算作貢獻
不過這道題的資料特別水
我也沒有特判什麼就對了???
還有同學在找字典序最小的串時都寫錯了
但是還是a了
下面放**
#includeusing namespace std;
int t,c,m,shu1,shu2,n,a[100005],dp[100005][4][2],ask[4][2],ans[5],temp[5];
void update()
else if(temp[i]>t>>c;
while(t--)
for(int i=0;i=1;i--)//0 right to left
}int now=0;
int pd=1;
for(int i=0;ilen) pd=0;
if(pd)
update();
} if(ans[0]!=ans[4])
for(int i=0;i
printf("%d ",ans[i]);
else printf("no");
printf("\n");
} return 0;}/*
2 33
2 03 1
5 24
1 02 2
3 14 2
*/
2019 10 6 機房訓練賽
一道優先佇列或是線段樹,一道找性質 t1 題面 眾所周知,九條可憐家裡有礦。你可以把可憐家的礦場抽象成一條數軸。可憐家有nn種礦,第ii種礦可以從 li,ri 的任意位置開採得到。這個暑假,地理老師給了可憐乙個列表 可憐的暑假作業就是收集齊這些礦石。為了保證可憐的安全,可憐的爸爸選定了m個相對安全的...
dirty機房訓練賽 chess
開始以為是矩陣快速冪之類的題 沒想到居然是dp 不過其實也快想到了 不過關於最後剩下的幾排出現了誤區 他們實際上也應該與前面一樣的 轉移十分合理到位 也就不多說了 這是我的優美 includeusing namespace std const int mod 1e9 7 int n,c,fac 50...
訓練 9 13 訓練賽
a.hdu 6230 乙個合法的子串 s 3n 2 滿足條件即1 2n 1 為以n為回文中心的回文串,n 3n 2為以2n 1為中心的回文串。故我們可以通過尋找回文中心對,來判斷相應合法子串的個數。利用manacher求出每個位置的最長回文半徑,則若i,j滿足條件 i j 則應有 p i geqsl...