AtCoder Beginner Contest 223(D,E,F)
1.AtCoder Beginner Contest 293(C,D ,E,F)2.Educational Codeforces Round 115 (Rated for Div. 2)(D,E)3.AtCoder Beginner Contest 294(E,F,G)4.AtCoder Beginner Contest 2465.中国石油大学(北京)第三届“骏码杯”程序设计竞赛(同步赛)(D,E,F)6.Codeforces Global Round 16(D,E,F)7.AtCoder Beginner Contest 209(D,E)8.Monoxer Programming Contest 2022(AtCoder Beginner Contest 238)(E,F)9.AtCoder Beginner Contest 285(B,D,E,F)10.AtCoder Beginner Contest 242(D,E)
11.AtCoder Beginner Contest 223(D,E,F)
12.AtCoder Beginner Contest 207(D,E)13.AtCoder Beginner Contest 247(E,F)14.AtCoder Beginner Contest 226(E,F,G)15.AtCoder Beginner Contest 229(F,G)16.AtCoder Beginner Contest 273(E)17.AtCoder Beginner Contest 286(G)18.AtCoder Beginner Contest 287(C,D,E,F)19.AtCoder Beginner Contest 288(D,E,F)20.AtCoder Beginner Contest 289(E,F)21.AtCoder Beginner Contest 290(D,E)22.AtCoder Beginner Contest 292(E,F,G)23.AtCoder Beginner Contest 298(D,F)24.AtCoder Beginner Contest 299(E,F)25.AtCoder Beginner Contest 300(E,F)26.AtCoder Beginner Contest 302(E,F,G)27.AtCoder Beginner Contest 253(E,F)28.AtCoder Beginner Contest 245(D,E,F)29.AtCoder Beginner Contest 248(D,E,F) 30.AtCoder Beginner Contest 206(Sponsored by Panasonic)(E,F)31.Codeforces Round 875 (Div. 2)(D)32.AtCoder Beginner Contest 178(E,F)33.AtCoder Beginner Contest 307(E,F,G)34.CodeTON Round 5 (Div. 1 + Div. 2, Rated, Prizes!)C35.Educational Codeforces Round 151 (Rated for Div. 2)(C,D)36.AtCoder Beginner Contest 212(E,F)37.牛客小白月赛5138.2022年浙大城市学院新生程序设计竞赛(同步赛)(补题)39.Codeforces Round #770 (Div. 2)B,C40.Codeforces Global Round 24(B,C)41.Codeforces Round #836 (Div. 2)C42.Codeforces Round #840 (Div. 2) C43.Good Bye 2022: 2023 is NEAR C44.Codeforces Round #765 (Div. 2)A,B,C45.Codeforces Round #766 (Div. 2)C,D46.Codeforces Round #841 (Div. 2) and Divide by Zero 202247.Codeforces Round #767 (Div. 2)C ,D 48.Codeforces Round #768 (Div. 2)C ,D49. Codeforces Round #769 (Div. 2) B,C50.Educational Codeforces Round 122 (Rated for Div. 2),C,D51.Educational Codeforces Round 119 (Rated for Div. 2)52.AtCoder Beginner Contest 25853.Codeforces Round #763 (Div. 2)C54.Codeforces Round #843 (Div. 2)(B,C,D,E)55.Educational Codeforces Round 141 (Rated for Div. 2)(B,C,D)56.AtCoder Beginner Contest 275(B,C,D,E,F)57.Codeforces Round #842 (Div. 2)(B,D,E)58.AtCoder Beginner Contest 284(D,E,F)59.The 14th Jilin Provincial Collegiate Programming Contest(补题)60.牛客小白月赛65(C,D,E,F)61.AtCoder Beginner Contest 281(D,E,F)62.Good Bye 2021: 2022 is NEAR D63.Hello 202364.The 15th Jilin Provincial Collegiate Programming Contest(补题)65.Codeforces Round #781 (Div. 2)C 66.Hello 2022(B,D)67.AtCoder Beginner Contest 272(D,E)68.Codeforces Round 751 (Div. 2)(D)69.Codeforces Round 856 (Div. 2)(C,D)70.Codeforces Round 752 (Div. 2)(C,D,E)71.Codeforces Round 855 (Div. 3)(E,F)72.AtCoder Regular Contest 131(A,B,C)73.Educational Codeforces Round 144 (Rated for Div. 2)(A,B,C,D)74.Codeforces Round 853 (Div. 2)(C,D)75.牛客练习赛109(C,D)76.AtCoder Beginner Contest 291(Sponsored by TOYOTA SYSTEMS)(D,E,F)77.Educational Codeforces Round 143 (Rated for Div. 2)(A,C,D)78.Codeforces Round #852 (Div. 2)(C,D)79.Educational Codeforces Round 118 (Rated for Div. 2)(D,E)80.AtCoder Beginner Contest 236(D,E,F)81.Codeforces Round #850 (Div. 2, based on VK Cup 2022 - Final Round)(B,D)82.Codeforces Round #848 (Div. 2)(B,C,D)83.TypeDB Forces 2023 (Div. 1 + Div. 2, Rated, Prizes!) (B,C,D) 84.Codeforces Round #846 (Div. 2)(B,E) 85.Educational Codeforces Round 142 (Rated for Div. 2)(C,D)86.2023牛客寒假算法基础集训营687.Codeforces Round #845 (Div. 2) and ByteRace 2023(A,B,C)88.2023牛客寒假算法基础集训营5 89.2023牛客寒假算法基础集训营3 90.2023牛客寒假算法基础集训营291.2023牛客寒假算法基础集训营192.Educational Codeforces Round 120 (Rated for Div. 2) C,D93.AtCoder Beginner Contest 254(C,D,E,F) AtCoder Beginner Contest 223(D,E,F)
D(拓扑排序)
大意就是有
要求找到一个排序满足上述条件的序列中字典序最小的那一个
这个使用拓扑排序,并加上优先队列即可
只要找到
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include<cmath>
#include <deque>
#include <bitset>
#include <unordered_map>
#include <cstring>
using namespace std;
const int maxn=2e5+10;
const int mod=998244353;
const double eps=1e-12;
#define int long long
const int inf=1e9;
#define ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
int n,m;
int d[maxn];
vector<int>g[maxn];
vector<int>ans;
bool topsort()
{
priority_queue<int,vector<int>,greater<int>>q;
for (int i=1;i<=n;i++)
{
if(d[i]==0)
{
q.push(i);
}
}
while (!q.empty())
{
int u=q.top();
q.pop();
ans.push_back(u);
for (auto v:g[u])
{
d[v]--;
if(d[v]==0)
{
q.push(v);
}
}
}
return ans.size()==n;
}
signed main ()
{
cin>>n>>m;
for (int i=1;i<=m;i++)
{
int u,v;
cin>>u>>v;
g[u].push_back(v);
d[v]++;
}
if(topsort())
{
for (auto x:ans)
{
cout<<x<<" ";
}
}
else cout<<-1;
cout<<"\n";
system ("pause");
return 0;
}
E(贪心)
这个题的大意就是给你一个方块长为
这个我们贪心的来看,这些矩形的排布可以为这几种
大致是上面四种排布,这些格子里面哪一个是
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include<cmath>
#include <deque>
#include <bitset>
#include <unordered_map>
#include <cstring>
using namespace std;
const int maxn=2e5+10;
const int mod=998244353;
const double eps=1e-12;
#define int long long
const int inf=1e9;
#define ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
int n,m;
int a[maxn],x,y;
int check1()
{
int sum=0;
for (int i=1;i<=3;i++)
{
sum+=(a[i]+x-1)/x;
}
return sum<=y;
}
int check2(int j)
{
int sum=y-(a[j]+x-1)/x;
if(sum<=0) return 0;
int now=0;
for (int i=1;i<=3;i++)
{
if(i==j) continue;
now+=(a[i]+sum-1)/sum;
}
return now<=x;
}
signed main ()
{
cin>>x>>y>>a[1]>>a[2]>>a[3];
int yes=0;
yes|=check1();
for (int i=1;i<=3;i++)
{
yes|=check2(i);
}
swap(x,y);
yes|=check1();
for (int i=1;i<=3;i++)
{
yes|=check2(i);
}
if(yes)
{
cout<<"Yes\n";
}
else
{
cout<<"No\n";
}
system ("pause");
return 0;
}
F(线段树,前缀和)
这个题题意很简单
就是给你一个字符串,然后下面有
输入
如果
如果
这个里面用到了线段树,但是我觉得很难的是怎么处理每一个点的状态和如何判断某一范围里面的括号是否匹配
对于一段匹配成功的字符串里面,
但是这还不够,因为我们还可能出现
我们还可记录一个最小未匹配数
tr[root].mi=min(tr[lson].mi,tr[lson].sum+tr[rson].mi);
这一代码我们可以这样看
把l r 可分成两部分,lson是它左边的一部分,rson是它右边的一部分
tr[lson].sum是它左边这一段多出来的左括号,然后如果我们右边这一段也存在还未匹配的右括号,我们可以让这两个进行匹配
如出现)(,只要他的左边出现了()(,多出了一个左括号即可
以上是鄙人拙见
具体代码如下
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include<cmath>
#include <deque>
#include <bitset>
#include <unordered_map>
#include <cstring>
using namespace std;
#define int long long
#define lson root<<1
#define rson root<<1|1
const int mod=998244353;
const int inf=0x3f3f3f3f;
const int INF=1e9+7;
const int maxn=1e6+100;
struct segtree
{
int l,r,sum,mi;
}tr[maxn<<2];
int n,q;
string s;
int a[maxn];
int x,y;
void build(int root,int l,int r)
{
tr[root]={l,r,0,0};
if (l==r) return ;
int mid=(l+r)>>1;
build(lson,l,mid);
build(rson,mid+1,r);
return ;
}
void pushup(int root)
{
tr[root].sum=(tr[lson].sum+tr[rson].sum);
tr[root].mi=min(tr[lson].mi,tr[rson].mi+tr[lson].sum);
return ;
}
void update(int root,int l,int r,int val)
{
if (l<=tr[root].l&&tr[root].r<=r)
{
tr[root].sum=val;
tr[root].mi=val;
return ;
}
int mid=(tr[root].l+tr[root].r)>>1;
if (l<=mid)
{
update(lson,l,r,val);
}
if (r>mid)
{
update(rson,l,r,val);
}
pushup(root);
return ;
}
void query(int root,int l,int r)
{
if (l<=tr[root].l&&tr[root].r<=r)
{
y=min(y,x+tr[root].mi);
x+=tr[root].sum;
return ;
}
int mid=(tr[root].l+tr[root].r)>>1;
int mi=inf,sum=0;
if (l<=mid)
{
query(lson,l,r);
}
if (r>mid)
{
query(rson,l,r);
}
return ;
}
signed main ()
{
cin>>n>>q;
cin>>s;
s=" "+s;
for (int i=1;i<=n;i++)
{
if(s[i]=='(')
{
a[i]=1;
}
else a[i]=-1;
}
build(1,1,n);
for (int i=1;i<=n;i++)
{
update(1,i,i,a[i]);
}
while (q--)
{
int op,l,r;
cin>>op>>l>>r;
if(op==1)
{
swap(a[l],a[r]);
update(1,l,l,a[l]);
update(1,r,r,a[r]);
}
else
{
x=0,y=inf;
query(1,l,r);;
if(x==0&&y==0)
{
cout<<"Yes\n";
}
else
{
cout<<"No\n";
}
}
}
system ("pause");
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!