二分答案,然後迴圈一邊即可。
#define io ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma gcc optimize(2)
#include
#include
using
namespace std;
const
int n=
100010
;int cnt[30]
;char s[n]
;char p[11]
="puleyaknoi"
;int n;
bool
check
(int len)
if(now==10)
return1;
for(
int i=len+
1;i<=n;i++)if
(s[i]
=='p'
||s[i]
=='u'
||s[i]
=='l'
||s[i]
=='e'
||s[i]
=='y'
||s[i]
=='a'
||s[i]
=='k'
||s[i]
=='n'
||s[i]
=='o'
||s[i]
=='i')if
(now==10)
return1;
}return0;
}int
main()
if(r==n+
1) cout<<-1
<<
'\n'
;else cout<'\n';}
return0;
}
序列自動機
#define io ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma gcc optimize(2)
#include
#include
#include
using
namespace std;
const
int n=
100010
;char s[n]
;int ne[n][30
];char p[11]
="puleyaknoi"
;int n;
void
build()
}int
main()
if(now) res=
min(res,now-i+1)
;}}if
(res!=n) cout<'\n'
;else cout<<-1
<<
'\n';}
return0;
}
打表發現最後基本都是乙個值,只需要把非常大的k直接弄成乙個較小的數即可。
注意k的奇數或偶數不要發生改變。
#define io ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma gcc optimize(2)
#include
#include
using
namespace std;
typedef
long
long ll;
typedef pair<
int,
int> pii;
typedef
unsigned
long
long ull;
const
int n=
10000010
;int prime[n]
,cnt;
bool st[n]
;int mob[n]
;void
init
(int n)
mob[i*prime[j]]=
-mob[i];}
}}intmain()
for(
int i=
1;i<=k;i++
) n=n+mob[n]
;
cout<'\n';}
return0;
}
注意刪邊是刪除所有的邊,不是刪除其中一條邊。注釋**是刪除一條邊的**
連通塊的點數減去邊數即是答案。
因為樹有n-1條邊,n個點。如果有k棵樹,那麼點一定比邊多k個。
#define io ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma gcc optimize(2)
#include
#include
#include
using
namespace std;
typedef
long
long ll;
typedef pair<
int,
int> pii;
mapint> mp;
map<
int,
int> d;
intmain()
]) cnte++;
// mp++;
// if(!d[u]) cntv++;
// if(!d[v]) cntv++;
// d[u]++,d[v]++;
if(mp)
continue
; cnte++;if
(!d[u]
) cntv++;if
(!d[v]
) cntv++
; d[u]
++,d[v]
++,mp=
1;}else
if(op==2)
])continue
;// if(mp==1) cnte--;
// mp--;
// d[u]--,d[v]--;
// if(!d[u]) cntv--;
// if(!d[v]) cntv--;
cnte--;if
(d[u]==1
) cntv--;if
(d[v]==1
) cntv--
; d[u]
--,d[v]
--,mp=
0;}else
cout<'\n';}
}return0;
}
拼湊 牛客練習賽70
牛牛還是很喜歡字串 puleyaknoi 牛牛有t個超長超長的字串,不過這次他更懶了,他希望直接在字串中看見他喜歡的字串。如果乙個子串中含有乙個子串行是 puleyaknoi 那麼他就把這個子串稱作好的子串。牛牛是個懶人,他不喜歡看太長的子串,那樣他會覺著眼鏡很累。你能幫他求出對於每個字串,最短的好...
牛客練習賽9
時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 珂朵莉想每天都給威廉送禮物,於是她準備了n個自己的本子 她想送最多的天數,使得每天至少送乙個本子,但是相鄰兩天送的本子個數不能相同 珂朵莉最多送幾天禮物呢 第一行乙個整...
牛客練習賽15
時間限制 c c 2秒,其他語言4秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 第一次期中考終於結束啦!沃老師是個語文老師,他在評學生的作文成績時,給每位學生的分數都是乙個小於10的非負小數。amy 8.99999999999999999999...