-
个人简介
#include<bits/stdc++.h> using namespace std; vectore[100012]; int st=1,dis[100012][2],vis[100012][2],n,m,Q; struct node{ int v,id; }U; queueq; void bfs(){ for(int i=1;i<=n;i++){ dis[i][0]=dis[i][1]=1e8; } U.v=st; U.id=0; q.push(U); vis[st][0]=true; dis[st][0]=0; while(!q.empty()){ int u=q.front(),id=q.front(); q.pop(); for(int i=0;i<e[u].size();i++){ int v=e[u][i]; if(vis[v][id^1]){ continue; } U.v=v; U.id=id^1; q.push(v); vis[v][id^1]=1; dis[v][id^1]=dis[u][id]+1; } } } int main(){ cin>>n>>m>>Q; int x,y; for(int i=1;i<=m;i++){ cin>>x>>y; e[x].push_back(y); e[y].push_back(x); } bfs(); while(Q--){ cin>>x>>y; if(dis[x][y%2]>y){ puts("No");
}else{ puts("Yes"); } } return 0;} #include<bits/stdc++.h> using namespace std; vectore[3012]; int d1[3012],d2[3012],d3[3012],vis[3012],n,m,ans=1e9,s1,t1,s2,t2; queueq; void bfs(int st,int dis[]){ for(int i=1;i<=n;i++){ dis[i]=1e8; vis[i]=false; } q.push(st); vis[st]=true; dis[st]=0; while(!q.empty()){ int u=q.front(); q.pop(); for(int i=0;i<e[u].size();i++){ int v=e[u][i]; if(vis[v]){ continue; } q.push(v); vis[v]=1; dis[v]=dis[u]+1; } } } int main(){ cin>>n>>m; int x,y; for(int i=1;i<=m;i++){ cin>>x>>y; e[x].push_back(y); e[y].push_back(x); } cin>>s1>>t1>>s2>>t2; bfs(1,d1); bfs(s1,d2); bfs(s2,d3); for(int i=1;i<=n;i++){ if(d1[i]+d2[i]<=t1&&d1[i]+d3[i]<=t2){ ans=min(ans,d1[i]+d2[i]+d3[i]); } } if(ans==1e9){ puts("-1"); }else{ cout<<m-ans; } return 0; } #include<bits/stdc++.h> using namespace std; vectore[100012],E[100012]; int dis[100012],vis[100012],n,m,st,ed,is[100012]; queueq; void bfs(){ q.push(ed); vis[ed]=true; while(!q.empty()){ int u=q.front(); q.pop(); for(int i=0;i<E[u].size();i++){ int v=E[u][i]; if(vis[v]){ continue; } q.push(v); vis[v]=1; } } } void Bfs(){ for(int i=1;i<=n;i++){ vis[i]=false; } if(!is[st]){ return; } q.push(st); vis[st]=true; while(!q.empty()){ int u=q.front(); q.pop(); for(int i=0;i<e[u].size();i++){ int v=e[u][i]; if(vis[v]||!is[v]){ continue; } q.push(v); vis[v]=1; dis[v]=dis[u]+1; } } } int main(){ cin>>n>>m; int x,y; for(int i=1;i<=m;i++){ cin>>x>>y; e[x].push_back(y); E[y].push_back(x); } cin>>st>>ed; bfs(); for(int u=1;u<=n;u++){ if(vis[u]){ is[u]=vis[u]; for(int i=0;i<e[u].size();i++){ if(!vis[e[u][i]]){ is[u]=false; } } } } Bfs(); if(!vis[ed]){ puts("-1"); }else{ cout<<dis[ed]; } return 0; } #include<bits/stdc++.h> using namespace std; int vis[20012][112],n,m,k; long long dis[20012][112]; struct node{ int v,id; }U; queueq; bool bfs(int mid){ for(int i=1;i<=n;i++){ for(int j=0;j<k;j++){ dis[i][j]=1e11,vis[i][j]=false; } } dis[n][0]=0; vis[n][0]=true; U.v=n; U.id=0; q.push(U); while(!q.empty()){ int u=q.front().v,id=q.front().id; q.pop(); for(int i=0;i<e[u].size();i++){ int v=e[u][i].v; if(vis[v][(id+1)%k]||mid-dis[u][id]<e[u][i].a+1){ continue; } U.v=v; U.id=(id+1)%k; q.push(U); vis[v][(id+1)%k]=1; dis[v][(id+1)%k]=dis[u][id]+1; } } return mid-dis[1][0]>=0; }
int main(){ cin>>n>>m>>k; int x,y,z; for(int i=1;i<=m;i++){ cin>>x>>y>>z; t.v=x; t.a=z; e[y].push_back(t); } int L=0,R=1e7,mid,ans=-1; while(L<=R){ mid=(L+R)/2; if(bfs(midk)){ ans=midk; R=mid-1; }else{ L=mid+1; } } cout<<ans; return 0; } #include<bits/stdc++.h> using namespace std; int sum,mx,a[70],n,l,cnt; bool vis[70];//pos拼好根数,len现在正在拼的长度 bool dfs(int pos,int len,int pre){ if(lenl){ return dfs(pos+1,0,0); } if(poscnt){ return true; } int k=0; for(int i=pre+1;i<=n;i++){ if(len+a[i]<=l&&!vis[i]&&k!=a[i]){ vis[i]=1; k=a[i]; bool f=dfs(pos,len+a[i],i); vis[i]=false; if(f){ return 1; } if(len+a[i]l||!len){ return false; } } } return false; } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; sum+=a[i]; mx=max(mx,a[i]); } sort(a+1,a+n+1,greater()); for(l=mx;l<=sum;l++){ if(sum%l0){ cnt=sum/l; if(dfs(0,0,0)){ cout<<l; return 0; } } } return 0; }
-
通过的题目
-
最近活动
- C2026届树、图论、最短路 作业
- C2026届前缀和与差分 作业
- C2026届高精度、结构体排序、质数筛、二分 作业
- C2026届图论基础 作业
- C2026届DFS&BFS 作业
- C2026届广度优先搜索(BFS) 作业
- C2026届深度搜索(DFS) 作业
- C2026届(堆和DFS) 作业
- 2025年4月29日C2026届课堂测试 乐多
- C2026届(树与搜索:二叉树基础、建树与遍历) 作业
- C2026届(高级数据结构:STL与线性结构练题) 作业
- C2026届(高级数据结构:STL容器) 作业
- C2026届二阶(中)2024年12月练习 作业
- C2026届二阶(中)2024年9-11月练习 作业
- 2024年8月29日下午C2026届训练 OI
- C2026届2024年8月初赛模拟题 作业
- 2024年8月28日下午C2026届训练 OI
- 2024年8月28日上午C2026届训练 OI
- C2026届初赛知识点测试 OI
- C2026届2024年7月12日二阶(上)测试 OI
- 2024年4月30日~假期快乐~clone 作业
- 2024年5月2日~主打一个随心 IOI
- 2024年4月30日~假期快乐~ IOI
- 20240404_速度赛 作业
- 语法基础_数组 作业
- 语法基础_控制结构 作业
- C2026届2024年3月8日练习赛 乐多
- C2026届2024年3月2日开学赛 乐多
- C2026届2023年12月31日元旦跨年赛 OI
- C2026届2023年12月分支结构练习 作业
- C2026届2023年12月顺序结构练习 作业
- C2026届2023年11月练习 作业
- 教师练题之一维数组 作业
题目标签
- 基础语法
- 95
- dfs
- 26
- 递归
- 23
- bfs
- 20
- 循环
- 16
- 字符串
- 15
- 深搜
- 15
- 广搜
- 15
- 搜索
- 14
- 结构体
- 14
- 顺序结构
- 13
- 基础问题
- 13
- 函数
- 13
- 其他
- 12
- 数论
- 12
- 素数判定
- 12
- 前缀和与差分
- 12
- 一维数组
- 11
- 数组问题
- 11
- 二维数组
- 11