Skip to content

Commit f749289

Browse files
请为您的变更输入提交说明。以 '' 开始的行将被忽略,而一个空的提交
说明将会终止提交。 位于分支 master 您的分支与上游分支 'LuoguProblem/master' 一致。 要提交的变更: 新文件: CF1873A.cpp 新文件: CF1873B.cpp 新文件: CF1873C.cpp 新文件: CF1873D.cpp 新文件: CF1873E.cpp 新文件: CF1873F.cpp 新文件: CF1873G.cpp 新文件: CF1873H.cpp 新文件: CF1875A.cpp 新文件: CF1875B.cpp 新文件: CF1875C.cpp 新文件: CF1875D.cpp 新文件: CF1878A.cpp 新文件: CF1878B.cpp 新文件: CF1878C.cpp 新文件: CF1878D.cpp 新文件: CF1878E.cpp 新文件: CF1879A.cpp 新文件: CF1879B.cpp 新文件: CF1879C.cpp 新文件: CF1879D.cpp 新文件: CF1879E.cpp 新文件: CF1882A.cpp 新文件: CF1882B.cpp 新文件: CF1882C.cpp 新文件: Luogu_CF_1073_D.cpp 新文件: Luogu_CF_1207_C.cpp 新文件: Luogu_CF_1407_C.cpp 新文件: Luogu_CF_1661_D.cpp 新文件: Luogu_CF_1740_D.cpp 新文件: Luogu_CF_679_A.cpp 新文件: Luogu_CF_702_C.cpp 新文件: Luogu_P_1002.cpp 新文件: Luogu_P_1039.cpp 修改: Luogu_P_1063.cpp 新文件: Luogu_P_1064.cpp 新文件: Luogu_P_1072.cpp 新文件: Luogu_P_1422.cpp 新文件: Luogu_P_1707.cpp 新文件: Luogu_P_1727.cpp 新文件: Luogu_P_1962.cpp 新文件: Luogu_P_2044.cpp 新文件: Luogu_P_2382.cpp 新文件: Luogu_P_3390.cpp 修改: Luogu_P_3865.cpp 新文件: Luogu_P_4503.cpp 新文件: Luogu_P_4551.cpp 新文件: Luogu_P_5522.cpp 修改: Luogu_P_5658.cpp 新文件: Luogu_P_5663.cpp 修改: Luogu_P_5683.cpp 新文件: Luogu_P_5684.cpp 新文件: Luogu_P_6033.cpp 新文件: Luogu_P_6812.cpp 修改: Luogu_P_7913.cpp 新文件: Luogu_P_8613.cpp 修改: Luogu_P_8817.cpp 修改: Luogu_P_8818.cpp 新文件: Luogu_P_8865.cpp 新文件: Luogu_P_9118.cpp 新文件: Luogu_P_9209.cpp 新文件: Luogu_P_9364.cpp 新文件: Luogu_P_9653.cpp 新文件: Luogu_P_9707.cpp 新文件: Luogu_P_9708.cpp 新文件: Luogu_P_9712.cpp 新文件: Luogu_P_9713.cpp 新文件: Luogu_SP_131.cpp 新文件: Luogu_SP_1716.cpp 新文件: Luogu_T_309170.cpp 新文件: Luogu_T_310899.cpp 新文件: Luogu_T_360339.cpp 新文件: Luogu_T_384316.cpp 新文件: Luogu_UVA_11997.cpp 新文件: MX237A.cpp 修改: tmp.cpp
1 parent f205746 commit f749289

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2452
-78
lines changed

CF1873A.cpp

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
string s;
13+
cin>>s;
14+
cout<<(s=="abc"||s=="bac"||s=="acb"||s=="cba"?"YES":"NO")<<'\n';
15+
}
16+
return 0;
17+
}

CF1873B.cpp

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
size_t n;
13+
cin>>n;
14+
vector<ui> a(n);
15+
for (ui& i:a) cin>>i;
16+
ui ans=0;
17+
for (ui& i:a){
18+
++i;
19+
ui times=1;
20+
for (ui const& j:a) times*=j;
21+
ans=max(ans,times);
22+
--i;
23+
}
24+
cout<<ans<<'\n';
25+
}
26+
return 0;
27+
}

CF1873C.cpp

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
ui ans=0;
13+
for (size_t i=0;i<10;++i) for (size_t j=0;j<10;++j){
14+
char c;
15+
cin>>c;
16+
if (c=='X') ans+=(i==0||i==9||j==0||j==9?1:
17+
i==1||i==8||j==1||j==8?2:
18+
i==2||i==7||j==2||j==7?3:
19+
i==3||i==6||j==3||j==6?4:
20+
i==4||i==5||j==4||j==5?5:
21+
-1);
22+
}
23+
cout<<ans<<'\n';
24+
}
25+
return 0;
26+
}

CF1873D.cpp

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
size_t n,k;string s;
13+
cin>>n>>k>>s;
14+
size_t ans=0;
15+
for (size_t i=0;i<n;++i)
16+
if (s[i]=='B') i+=k-1,++ans;
17+
cout<<ans<<'\n';
18+
}
19+
return 0;
20+
}

CF1873E.cpp

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
size_t n;uli x;
13+
cin>>n>>x;
14+
vector<uli> a(n);
15+
for (uli& i:a) cin>>i;
16+
uli l=1,r=2e9;
17+
while (l<r){
18+
uli mid=(l+r+1)>>1,water=0;
19+
for (uli const& i:a)
20+
if (i<mid) water+=mid-i;
21+
water>x?r=mid-1:l=mid;
22+
}
23+
cout<<l<<'\n';
24+
}
25+
return 0;
26+
}

CF1873F.cpp

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
template<typename T> class PrefixSum{
8+
vector<T> sum;
9+
public:
10+
template<typename InputIterator,typename=_RequireInputIter<InputIterator>>
11+
PrefixSum(InputIterator begin,size_t n):sum(n+1){
12+
typename vector<T>::iterator it=next(sum.begin());
13+
while (true){
14+
*it=*prev(it)+*begin;
15+
if (++it>=sum.end()) break;
16+
++begin;
17+
}
18+
}
19+
T get_sum(size_t m,size_t n){
20+
return sum[n]-sum[m];
21+
}
22+
T get_val(size_t m){
23+
return get_sum(m,m+1);
24+
}
25+
T operator[](size_t m){
26+
return get_val(m);
27+
}
28+
size_t size(void){return sum.size();}
29+
};
30+
int main(void){
31+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
32+
size_t T;
33+
cin>>T;
34+
while (T--){
35+
size_t n;uli k;
36+
cin>>n>>k;
37+
vector<uli> a(n);
38+
for (uli& i:a) cin>>i;
39+
uli lsth;size_t ql=0,ans=0;
40+
cin>>lsth;
41+
for (size_t i=1;i<n;++i){
42+
uli nowh;
43+
cin>>nowh;
44+
if (lsth%nowh){
45+
size_t itl=ql,itr=ql;
46+
uli sum=0;
47+
for (;itr<i;++itr){
48+
sum+=a[itr];
49+
while (sum>k)
50+
sum-=a[itl++];
51+
ans=max(ans,itr-itl+1);
52+
}
53+
ql=i;
54+
}
55+
lsth=nowh;
56+
}
57+
{
58+
size_t itl=ql,itr=ql;
59+
uli sum=0;
60+
for (;itr<n;++itr){
61+
sum+=a[itr];
62+
while (sum>k)
63+
sum-=a[itl++];
64+
ans=max(ans,itr-itl+1);
65+
}
66+
}
67+
cout<<ans<<'\n';
68+
}
69+
return 0;
70+
}

CF1873G.cpp

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
string s;
13+
cin>>s;
14+
vector<size_t> cntA(1);
15+
size_t ans=0;
16+
for (char const& i:s)
17+
if (i=='B') cntA.push_back(0);
18+
else ++cntA.back(),++ans;
19+
size_t minx=-1;
20+
for (size_t const& i:cntA) minx=min(minx,i);
21+
cout<<(cntA.size()==1?0:ans-=minx)<<'\n';
22+
}
23+
return 0;
24+
}

CF1873H.cpp

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
using graph=vector<vector<size_t>>;
8+
int main(void){
9+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
10+
size_t T;
11+
cin>>T;
12+
while (T--){
13+
size_t n,a,b;
14+
cin>>n>>a>>b;--a,--b;
15+
graph mp(n);
16+
for (size_t i=0;i<n;++i){
17+
size_t u,v;
18+
cin>>u>>v;--u,--v;
19+
mp[u].push_back(v),mp[v].push_back(u);
20+
}
21+
size_t dist_a=0,dist_b=0;size_t point;
22+
{
23+
vector<bool> on_ring(n);
24+
size_t s,t;
25+
queue<size_t> q({b});
26+
vector<size_t> pre(n,-1);
27+
while (!q.empty()){
28+
size_t p=q.front();q.pop();
29+
for (size_t const& i:mp[p]) if (pre[p]!=i)
30+
if (~pre[i]){
31+
s=i,t=p;
32+
goto out1;
33+
}else q.push(i),pre[i]=p;
34+
}
35+
throw;
36+
out1:;
37+
for (size_t i=s;~i;i=pre[i]) on_ring[i]=true;
38+
size_t i=t;
39+
for (;~i&&!on_ring[i];i=pre[i]) on_ring[i]=true;
40+
point=i;
41+
i=pre[i];
42+
for (;~i;i=pre[i],++dist_b) on_ring[i]=false;
43+
}{
44+
queue<size_t> q({a});
45+
vector<bool> vis(n,true);
46+
while (!q.empty()){
47+
for (size_t I=q.size();I;--I){
48+
size_t p=q.front();q.pop();
49+
if (p==point) goto out2;
50+
for (size_t const& i:mp[p]) if (vis[i]) q.push(i),vis[i]=false;
51+
}
52+
++dist_a;
53+
}
54+
throw;
55+
out2:;
56+
}
57+
#ifdef debug
58+
cout<<"\033[31m"<<dist_a<<' '<<dist_b<<"\033[0m";
59+
#endif
60+
cout<<(dist_a>dist_b?"YES":"NO")<<'\n';
61+
}
62+
return 0;
63+
}

CF1875A.cpp

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
uli a,b,ans=0;size_t n;
13+
cin>>a>>b>>n;
14+
while (n--){
15+
uli x;
16+
cin>>x;
17+
ans+=b-1;
18+
b=min(x+1,a);
19+
}
20+
cout<<(ans+=b)<<'\n';
21+
}
22+
return 0;
23+
}

CF1875B.cpp

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
size_t n,m,k;
13+
cin>>n>>m>>k;
14+
vector<ui> a(n),b(m);
15+
uli ans=0;ui maxa=0,maxb=0,mina=-1,minb=-1;
16+
for (ui& i:a) cin>>i;
17+
for (ui& i:b) cin>>i;
18+
sort(a.begin(),a.end()),sort(b.begin(),b.end());
19+
if (a.front()<b.back()) swap(a.front(),b.back());
20+
for (ui x:a) ans+=x,maxa=max(maxa,x),mina=min(mina,x);
21+
for (ui x:b) maxb=max(maxb,x),minb=min(minb,x);
22+
cout<<ans-(k&1?0:maxa-minb)<<'\n';
23+
}
24+
return 0;
25+
}

CF1875C.cpp

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
ui n,m;
13+
cin>>n>>m;
14+
ui ezn=n/__gcd(n,m),ezm=m/__gcd(n,m);
15+
if (ezm&(ezm-1)) cout<<"-1\n";
16+
else{
17+
uli ans=0;
18+
long double nq=ezn;
19+
for (uli part=0,pow=1;ezm>1;ezm>>=1,nq/=2,pow<<=1){
20+
if (int(nq)>>1<<1==nq) continue;
21+
else if (int(nq)&1) ++part;
22+
ans+=part*pow;
23+
}
24+
cout<<ans*__gcd(n,m)<<'\n';
25+
}
26+
}
27+
return 0;
28+
}

CF1875D.cpp

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include<bits/extc++.h>
2+
using namespace std;
3+
namespace pbds=__gnu_pbds;
4+
using ui=unsigned int;
5+
using uli=unsigned long long int;
6+
using li=long long int;
7+
int main(void){
8+
ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
9+
size_t T;
10+
cin>>T;
11+
while (T--){
12+
size_t n;
13+
cin>>n;
14+
unordered_map<ui,size_t> num;
15+
for (size_t i=0;i<n;++i){
16+
ui x;
17+
cin>>x;
18+
++num[x];
19+
}
20+
ui mex=0;
21+
for (;!num.count(mex);++mex);
22+
uli ans=0;
23+
for (ui i=0;i<mex;++i)
24+
}
25+
return 0;
26+
}

0 commit comments

Comments
 (0)