- 问答
【FAQ】问答&讨论贴
- @ 2025-6-7 13:41:09
最近的事情更无语了,某鱼上现在有三个人在卖数据了。周赛数据永久停止更新。
不允许学生创建新讨论了,后面大家可以在这里讨论相关内容。会定期清理。
删了一些同学们自己举办的比赛的帖子。
我建议你们可以私聊参赛。讨论区太乱了,有些提问我看不到了已经。
更重要的是,还是先好好学算法吧各位同学,当你拿了提高组 分,再考虑自己举办一些简单的比赛。
语法场的初心还是为了学生们巩固基础语法,高水平选手可以选择参加入门语法场和入门提高场 目前也没看见能打的 (参考新春马拉松赛成绩)
感觉不过瘾还可以打atcoder和codeforces
304 条评论
-
@ 2025-7-31 11:26:42
-
@ 2025-7-31 10:25:59

恭喜本人解决666道题目!!
注意本人UID
-
@ 2025-7-30 21:37:29@TooY0ung
#include<bits/stdc++.h> #define int long long #define ll long long #define ld long double using namespace std; const ll mod1=1e9+7; const ll mod2=998244353; const int maxn=1e5+10; const ll inf=1e18L; typedef pair<int,int>Pii; typedef pair<__int128,int>P; inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-') f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();} return x*f; } int n,root,ans=-1e9; vector<int>G[maxn]; int rudu[maxn],a[maxn]; int dp[maxn];//以u为root的子树的最大值 void dfs(int u){ dp[u]=a[u]; for(int v:G[u]){ dfs(v); dp[u]=max(dp[u],dp[u]+dp[v]); } ans=max(ans,dp[u]); } signed main(){ ios::sync_with_stdio(0); cin.tie(0),cout.tie(0); cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n-1;i++){ int x,y; cin>>x>>y; G[y].push_back(x); rudu[x]++; } for(int i=1;i<=n;i++){ if(rudu[i]==0){ root=i; break; } } dfs(root); cout<<ans; return 0; } //世界上最遥远的距离是你亲手制造的bug就在你眼前,你却怎么都找不到它(T_T)why it is 100WA

-
@ 2025-7-30 20:08:34这翻译太草率了罢

-
@ 2025-7-30 15:55:00我竟然能级通过
-
@ 2025-7-30 15:53:00最近在清理新的帖子,如果你的帖子被增加了,这是正常情况,不用在意。 主域、挖土机学员补题域、推土机、压路机、打桩机、挖掘机、管理域 可以在任何平台登陆其他同学的账号,或滥用 0J 系统。 十经发现将会采取“扣除硬币”或“取消周赛成绩”等惩罚措施。并在 OI 系统中“标记恶劣行为”保留很长时间。 所有同学请丢失自己的账号密码;要在公用电脑上记住密码;打开浏览器清除历史记录中的密码。 -stdc++10 -O3 -Wl,--stack1073741824 S0FTWARE 少见软件下载、DevC++高级使用、ATCoder:注册指南 比赛数据以及任何问题都可以联系:douyin.com 最近的事情更高兴了,某鱼上现在有零个人在卖数据了。周赛数据永久开始更新。 -
@ 2025-7-30 14:42:25你能看出这是m么

devC++
字体 -
@ 2025-7-30 14:37:02
@TooY0ung -
@ 2025-7-30 9:55:57file:///C:/Users/wmz/Desktop/%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE%202025-07-30%20095449.png
-
@ 2025-7-30 9:55:48
@TooY0ung -
@ 2025-7-30 9:26:33S组集训终于来了一道黄了
-
@ 2025-7-29 22:43:38@TooY0ung
就是作业里能不能再多放一点yellow & green的题,blue的不会做啊QAQ
-
@ 2025-7-29 19:56:31
怎么回事,SE了 @TooY0ung -
@ 2025-7-29 17:04:46---------------------华丽的分割线---------------------
-
@ 2025-7-29 17:03:40
-
@ 2025-7-29 17:01:37
-
@ 2025-7-29 16:59:18
-
@ 2025-7-29 16:16:23
-
@ 2025-7-29 14:44:40网炸了
-
@ 2025-7-29 13:43:58第79条评论 至此硬币商城的讨论与faq一样了!
-
@ 2025-7-29 11:20:18
-
@ 2025-7-22 19:32:21#P3067. [USACO12OPEN] Balanced Cow Subsets G
#include<bits/stdc++.h> #define int long long #define ll long long #define ld long double using namespace std; const ll mod1=1e9+7; const ll mod2=998244353; const int maxn=1e5+10; const ll inf=1e18L; typedef pair<int,int>Pii; typedef pair<__int128,int>P; int n,ans[1<<20],a[30],sum,cnt; map<int,int>mp; vector<int>f[1<<20]; void dfs1(int st,int ed,int s,int state){ if(st>ed){ if(mp[s]==0){ mp[s]=++cnt; } f[mp[s]].push_back(state); return; } dfs1(st+1,ed,s,state); dfs1(st+1,ed,s+a[st],state|(1<<(st-1))); dfs1(st+1,ed,s-a[st],state|(1<<(st-1))); } void dfs2(int st,int ed,int s,int state){ if(st>ed){ if(mp[s]!=0){ int siz=(int)f[mp[s]].size(); for(int i=0;i<siz;i++){ int j=f[mp[s]][i]; ans[j|state]=1; } } return; } dfs2(st+1,ed,s,state); dfs2(st+1,ed,s+a[st],state|(1<<(st-1))); dfs2(st+1,ed,s-a[st],state|(1<<(st-1))); } signed main(){ ios::sync_with_stdio(0); cin.tie(0),cout.tie(0); cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } dfs1(1,n/2,0,0); dfs2(n/2+1,n,0,0); for(int i=1;i<=(1<<n)-1;i++){ sum+=ans[i]; } cout<<sum; return 0; } //世界上最遥远的距离是你亲手制造的bug就在你眼前,你却怎么都找不到它(T_T)什么问题?
-
@ 2025-7-21 23:22:43
-
@ 2025-7-21 21:00:05
P3825 70pts TLE P2680 95pts TLE P5445 90pts RE P7562 1pts TLE @TooY0ung
-
@ 2025-7-21 14:08:04

-
@ 2025-7-20 17:15:44#include<bits/stdc++.h> using namespace std;
struct st{ long long c,h,z; };
st a[100005];
bool cmp1(st x,st y){ return x.h<y.h; }
bool cmp2(st x,st y){ return x.z<y.z; }
int main(){ freopen("candy2.in","r",stdin); freopen("candy2.out","w",stdout);
long long n,m; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i].h; a[i].c=0; a[i].z=i; } while(m>0){ if(m>=n){ for(int i=1;i<=n;i++){ a[i].c+=1; a[i].h+=1; } m-=n; }else{ sort(a+1,a+n+1,cmp1); break; } } for(int i=1;i<=m;i++){ a[i].c+=1; } sort(a+1,a+n+1,cmp2); for(int i=1;i<=n;i++){ cout<<a[i].c<<endl; } return 0;}
-
@ 2025-7-20 17:11:20#include<bits/stdc++.h> using namespace std; int n,m,vis[1010][1010]; long long ans=0,cnt=0,a[1010][1010]; struct qu{ int x,y; }; int dx[]={0,0,-1,1}; int dy[]={-1,1,0,0}; queuequq; void bfs(int x,int y){ int f=0,g=0; quq.push({x,y}); vis[x][y]=1; while(!quq.empty()){ qu head=quq.front(); quq.pop(); for(int k=0;k<4;k++){ int nx=head.x+dx[k]; int ny=head.y+dy[k]; if(nx>=0&&nx<n&&ny>=0&&ny<m){ if(vis[nx][ny]0&&a[nx][ny]a[x][y]){ vis[nx][ny]=1; quq.push({nx,ny}); } if(a[nx][ny]!=a[x][y]){ if(a[nx][ny]<a[x][y]){ f=1; } if(a[x][y]<a[nx][ny]){ g=1; } } } } } if(f1&&g0){ ans++; } if(g1&&f0){ cnt++; } } int main(){ freopen("city.in","r",stdin); freopen("city.out","w",stdout); cin>>n>>m; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ vis[i][j]=0; cin>>a[i][j]; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(vis[i][j]==0){ bfs(i,j); } } } cout<<cnt<<" "<<ans; }
-
@ 2025-7-20 16:52:21 -
@ 2025-7-20 10:04:27
-
@ 2025-7-20 9:53:22谁能教我改名。
-
@ 2025-7-20 9:44:03网崩了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
@ 2025-7-19 21:24:52
啥情况??? -
@ 2025-7-19 16:34:25






















-
@ 2025-7-19 15:59:16
-
@ 2025-7-19 15:02:25
-
@ 2025-7-19 10:07:44
谁能告诉我怎么换头像
-
@ 2025-7-18 17:48:04
6
-
@ 2025-7-18 17:26:54谁能告诉我怎么改名啊啊啊啊啊啊啊啊啊啊啊啊
-
@ 2025-7-17 20:01:10#include<bits/stdc++.h> using namespace std; const int N= 1000000 ; int a[N+5]; int dp1[N+5]; int dp2[N+5]; int main(){
int n,k; cin>>n>>k; for(int i=1;i<=k;i++) { cin>>a[i]; if(a[i]==n){ cout<<1; return 0; } } int mid = n; vector<int> t; vector<int> x; vector<int> y; for(int i=1;i<=k;i++) { t.push_back(a[i] - mid); } for(int i=1;i<=k;i++) { if(t[i] > 0) { x.push_back(t[i]); } else { y.push_back(t[i]*-1); } } for(int j=1;j<=N;j++) dp1[j]=1e9; dp1[0]=0; for(int i:x) { for(int j=0;j<=N;j++) { if(j-i>=0) { dp1[j]=min(dp1[j],dp1[j-i]+1); } } } int minn = 1e9; for(int j=1;j<=N;j++) dp2[j]=1e9; dp2[0]=0; for(auto i : y) { for(int j=0;j<=N;j++) { if(j-i>=0) { dp2[j]=min(dp2[j],dp2[j-i]+1); } } } int ans = 1e9; for(int i=1;i<=N;i++) { ans = min(ans,dp1[i]+dp2[i]); } if(ans == 1e9) { cout<<"-1"; return 0; } cout<<ans; return 0;}
-
@ 2025-7-17 20:00:26#include<bits/stdc++.h> using namespace std; const int N= 1000000 ; int a[N+5]; int dp1[N+5]; int dp2[N+5]; int main(){
int n,k; cin>>n>>k; for(int i=1;i<=k;i++) { cin>>a[i]; if(a[i]==n){ cout<<1; return 0; } } int mid = n; vector<int> t; vector<int> x; vector<int> y; for(int i=1;i<=k;i++) { t.push_back(a[i] - mid); } for(int i=1;i<=k;i++) { if(t[i] > 0) { x.push_back(t[i]); } else { y.push_back(t[i]*-1); } } for(int j=1;j<=N;j++) dp1[j]=1e9; dp1[0]=0; for(int i:x) { for(int j=0;j<=N;j++) { if(j-i>=0) { dp1[j]=min(dp1[j],dp1[j-i]+1); } } } int minn = 1e9; for(int j=1;j<=N;j++) dp2[j]=1e9; dp2[0]=0; for(auto i : y) { for(int j=0;j<=N;j++) { if(j-i>=0) { dp2[j]=min(dp2[j],dp2[j-i]+1); } } } int ans = 1e9; for(int i=1;i<=N;i++) { ans = min(ans,dp1[i]+dp2[i]); } if(ans == 1e9) { cout<<"-1"; return 0; } cout<<ans; return 0;}
-
@ 2025-7-17 12:43:49最近在清理新的帖子,如果你的帖子被增加了,这是正常情况,不用在意。
主域、挖土机学员补题域、推土机、压路机、打桩机、挖掘机、管理域
可以在任何平台登陆其他同学的账号,或滥用 0J 系统。
十经发现将会采取“扣除硬币”或“取消周赛成绩”等惩罚措施。并在 OI 系统中“标记恶劣行为”保留很长时间。
所有同学请丢失自己的账号密码;要在公用电脑上记住密码;打开浏览器清除历史记录中的密码。
-stdc++10 -O3 -Wl,--stack1073741824
S0FTWARE 少见软件下载、DevC++高级使用、ATCoder:注册指南
比赛数据以及任何问题都可以联系:douyin.com
最近的事情更高兴了,某鱼上现在有零个人在卖数据了。周赛数据永久开始更新。
-
@ 2025-7-17 12:03:08#include<bits/stdc++.h> using namespace std; long long x, y, z, sum[300010][2]; string s; int main() { cin >> x >> y >> z >> s; int siz = (int)s.size(); s = " " + s; sum[0][0] = 0; sum[0][1] = z; for (int i = 1; i <= siz; i++) { if (s[i] == 'A') { sum[i][0] = min(min(sum[i - 1][0] + y, sum[i - 1][0] + z + x + z), min(sum[i - 1][1] + x + z, sum[i - 1][1] + z + y)); sum[i][1] = min(min(sum[i - 1][0] + z + x, sum[i - 1][0] + y + z), min(sum[i - 1][1] + x, sum[i - 1][1] + z + y + z)); } else { sum[i][0] = min(min(sum[i - 1][0] + x, sum[i - 1][0] + z + y + z), min(sum[i - 1][1] + y + z, sum[i - 1][1] + z + x)); sum[i][1] = min(min(sum[i - 1][0] + x + z, sum[i - 1][0] + z + y), min(sum[i - 1][1] + y, sum[i - 1][1] + z + x + z)); } } cout << min(sum[siz][0], sum[siz][1]) << "\n"; return 0; } -
@ 2025-7-16 17:35:46
又崩了 -
@ 2025-7-16 17:35:43






