-
个人简介
imc.re,poki,pcl
| | | | | | | | | | | | | | | | |
|| | col | col | col | | - | - | - | | content | content | content | | content | content | content || | col | col | col | | - | - | - | | content | content | content | | content | content | content || | col | col | col | | - | - | - | | content | content | content | | content | content | content || | col | col | col | | - | - | - | | content | content | content | | content | content | content || | |
~ ~/*#include<bits/stdc++.h> using namespace std; const int N=200010; int n,m,f[N],l[N],num[N],nl=0; struct MO{ int yu=0; int zi=0; int most=0; int better=0; int ID=0; }mo[N]; bool cmp(MO a,MO b){ if(a.most>b.most) return 1; else if(a.most==b.most&&a.better>b.better) return 1; else return 0; } int ls(int n){ int index=lower_bound(l,l+nl,n)-l; if(l[index]n) return index; else return 200001; } int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>f[i]; sort(f+1,f+1+n); for(int i=1;i<=n;i++){ if(i1||f[i]!=f[i-1]) l[nl++]=f[i]; } for(int i=1;i<=n;i++) num[ls(f[i])]++; cin>>m; for(int i=1;i<=m;i++){ cin>>mo[i].yu; mo[i].ID=i; mo[i].most=num[ls(mo[i].yu)]; } for(int i=1;i<=m;i++){ cin>>mo[i].zi; mo[i].better=num[ls(mo[i].zi)]; } sort(mo+1,mo+m+1,cmp); cout<<mo[1].ID; return 0; }
#include<bits/stdc++.h> using namespace std; int maxProfit(int price[], int i) { if (n<=1) return 0; int left[n]={0},right[n]={0}; int minc=0x7fffffff,maxp=0; for (int i=0;i<n;i++) { if (minc>price[i]) minc=price[i]; if (price[i]-minc>maxp) maxp=price[i]-minc; left[i]=maxp; } int maxc=-1e9; maxp=0; for (int i=n-1;i>=0;i--) { if (maxc<price[i]) maxc=price[i]; if (maxc-price[i]>maxp) maxp=maxc-price[i]; right[i]=maxp; } maxp=0; for (int i=0;i<n-1;i++) maxp=max(maxp,left[i]+right[i]); return maxp; } int main() { int n; cin>>n; int p[100000]={0}; for (int i=0;i<n;i++) cin>>p[i]; cout<<maxProfit(p, n); return 0; }
#include<bits/stdc++.h> using namespace std; int n; int a[401]{}; int main() { cin>>n; for (int i = 1; i <= n; i++) cin>>a[i]; sort(a, a+n+1); for (int i = 3; i <= n; i++) { a[i]=a[i]+a[i-2]; } int t; for (int i=1;i<=n;i++) { t+=a[i]; }
cout<<t; return 0;}
#include<bits/stdc++.h> using namespace std; int n,t,a[1010],ans=0; int main() { cin>>t; while(t--) { ans=0; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+1+n); while (n>3) { int sum1=a[1]*2+a[n]+a[n-1]; int sum2=a[2]*2+a[1]+a[n]; ans+=min(sum1,sum2); n-=2; } if (n1) ans+=a[1]; else if (n2) ans+=a[2]; else ans+=a[1]+a[2]+a[3]; cout<<ans<<endl; } return 0; }
#include<bits/stdc++.h> using namespace std; struct note { int b,e,t; }q[5010]; int book[30010]; bool cmp(note x,note y) { return x.e<y.e; } int main() { int n,h; scanf("%d%d",&n,&h); for (int i=0;i<h;i++) scanf("%d%d%d",&q[i].b,&q[i].e,&q[i].t); sort(q,q+h,cmp); int k,tree=0; for (int i=0;i<h;i++) { k=0; for (int j=q[i].b;j<=q[i].e;j++) { if (book[j]) k++; } if (k>=q[i].t) continue; for (int j=q[i].e;j>=q[i].b;j--) { if (book[j]0) { book[j]=1; k++; tree++; if (kq[i].t) break; } } } printf("%d\n",tree); return 0; }
#include <bits/stdc++.h> using namespace std; const int maxn=1e5+9; int t,h; bool is_prime(int x) { if (x<2 ) return false; for (int i=2;i<=sqrt(x);i++) { if (x%i0) return false; } return true; } int main() { cin>>t; while (t--) { cin>>h; int num=0; bool ckeck=false; for (int i=1;i<=20;i++) { if (is_prime(h)) { num++; ckeck=true; break; }else { int atk=pow(2,i-1); if (h>=atk) { h-=atk; num++; if (h0) { ckeck=true; break; } } else break; } } if (ckeck==true) cout<<num; else cout<<"-1"; cout<<endl; } return 0; }//wmdsj.top
#include <bits/stdc++.h> using namespace std; int num[30010]; int main() { int w,n,ans=0; cin>>w>>n; for(int i=1;i<=n;i++) cin>>num[i]; sort(num+1,num+n+1); int i=1,j=n; while(i<=j) { if(num[j]+num[i]<=w) { ans++; j--; i++; }else { ans++; j--; } } cout<<ans; return 0; }
#include <bits/stdc++.h> using namespace std; #define N 100005 int nimNum[20]={0,-1,1,7,4,2,6,8,10,18,22,20,28,68,88}; int pn[7]={0,10,1,200,20,2,6},pd[7]={0,2,1,3,2,1,1}; int main() { int t,n,d; cin>>t; while(t--) { cin>>n; d=(n-1)/7+1; if (d<=2) cout<<nimNum[n]<<endl; else { if (n%7>0) cout<<pn[n%7]; for (int i=1;i<=d-pd[n%7];i++) cout<<8; cout<<endl; } } return 0; }
#include <bits/stdc++.h> using namespace std; const int INF=0x3f3f3f3f; typedef long long LL; const int mod=1e9+7; const double PI=acos(-1); const int maxn=100010; using namespace std; int k; char str[50]; int tag[10][10]; int num[10]; int ans[1000]; int main(){ scanf("%s %d",str,&k); for(int i=1;i<=k;i++){ int a,b; scanf("%d %d",&a,&b); tag[a][b]=1; } for(int k=1;k<=9;k++){ for(int i=0;i<=9;i++){ for(int j=0;j<=9;j++){ if(tag[i][k]&&tag[k][j]) tag[i][j]=1; } } } for(int i=0;i<=9;i++){ tag[i][i]=1; for(int j=0;j<=9;j++){ if(tag[i][j]) num[i]++; } } ans[0]=1; int jinwei; int weishu=1; for(int i=0;str[i];i++) { jinwei=0; int x=num[str[i]-'0']; for(int j=0;j<weishu;j++){ int t=ans[j]*x+jinwei; ans[j]=t%10; jinwei=t/10; } while(jinwei){ ans[weishu++]=jinwei%10; jinwei/=10; } } for(int i=weishu-1;i>=0;i--) printf("%d",ans[i]); printf("\n"); return 0; }
#include<bits/stdc++.h> using namespace std; const int maxn=1000; int a[maxn]; int dp[maxn]; int main(){ int k; while(cin>>k){ for(int i=0;i<k;i++){ cin>>a[i]; } int ans=0; for(int i=0;i<k;i++){ dp[i]=a[i]; for(int j=0;j<i;j++){ if(a[j]<a[i]){ dp[i]=max(dp[i],dp[j]+a[i]); } } ans=max(ans,dp[i]); } cout<<ans<<endl; } return 0; }
#include<bits/stdc++.h> using namespace std; long long n,cnt[105],ans=1000000000; void check(long long a,long long b,long long c) { if (c==n+1&&abs(a-b)<ans) ans=abs(a-b); if (c<=n) { check(a+cnt[c],b,c+1); check(a,b+cnt[c],c+1); }
} int main() { cin>>n; for (int i=1; i<=n; i++) { cin>>cnt[i]; } check(0,0,1); return 0; }
#include <bits/stdc++.h> using namespace std; int main() { string s; int n; cin>>s>>n; int len=s.size(); for (int i=0;i<n;i++) { for (int j=0;j<len-1;j++) { if (s[j]>s[j+1]) { for (int k=j;k<len-1;k++) s[k]=s[k+1]; break; } } len--; } bool flag=false; for (int i=0;i<len;i++) { if (s[i]!='0') flag=true; if (flag) cout<<s[i]; } cout<<endl; return 0; }
#include <bits/stdc++.h> using namespace std; int n; int arr[1000005]; int main() { cin>>n; for (int i=0;i<n;i++) cin>>arr[i]; sort(arr,arr+n); int num=1; for (int i=0;i<n;i++) { if (arr[i]>=num) num++; } cout<<num-1; return 0; }
//老师我发现您的代码不通过
#include<bits/stdc++.h> using namespace std; typedef pair<long long, long long> PII; long long n, m; vector<pair<long long, PII>> stores; long long sum; long long Min = 0x3f3f3f3f; int main() { cin >> n >> m; for (long long i = 0; i < m; i ++) { long long a, b; cin >> a >> b; long long sub = a - b; stores.push_back({sub, {a, b}}); Min = min(Min, a); } sort(stores.begin(), stores.end()); for (auto st : stores) { long long re = st.first; long long a = st.second.first; long long b = st.second.second; if (n < a) { continue; } long long times = (n - a) / (a - b) + 1; sum += times; n -= times * re; if (n < Min) break; } cout << sum << endl; return 0; } */ #include <bits/stdc++.h> using namespace std; const int N = 1010; int n, V, v[N], w[N]; int dp[N][N]; int main() { int n, V; cin >> n >> V; for(int i = 1; i <= n; ++i) cin >> v[i] >> w[i]; for(int i = 1; i <= n; ++i) { for(int j = 1; j <= V; ++j) { dp[i][j] = dp[i - 1][j]; if(j >= v[i]) dp[i][j] = max(dp[i][j], dp[i - 1][j - v[i]] + w[i]); } } cout << dp[n][V] << endl; memset(dp, 0, sizeof(dp)); for(int i = 1; i <= V; ++i) dp[0][i] = -1; for(int i = 1; i <= n; ++i) { for(int j = 1; j <= V; ++j) { dp[i][j] = dp[i - 1][j]; if(j >= v[i] && dp[i - 1][j - v[i]] != -1) dp[i][j] = max(dp[i][j], dp[i - 1][j - v[i]] + w[i]); } } cout << (dp[n][V] == -1 ? 0 : dp[n][V]) << endl; return 0; }
| col | col | col | | - | - | - | | content | content | content | | content | content | content | dxda nb ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19178 -
通过的题目
-
最近活动
- 2025.12.14 25秋DC0703 图论入门 作业
- 2025.12.07 25秋DC0703 贪心强化 作业
- 2025.11.30 25秋DC0703 贪心问题 作业
- DC703阶段测试(2511) OI
- 2025.11.23 25秋DC0703 贪心进阶 作业
- 11.15 dc7-02 作业 作业
- 2025.11.16 25秋DC0703 区间dp和离散化 作业
- 2025.11.09 25秋DC0703 二维dp 作业
- DC0703阶段测试一 OI
- 2025.11.02 25秋DC0703 阶段测试一 作业
- 2025.11.02 25秋DC802 阶段测评 作业
- 2025.10.27 汇文中学 CSP复赛模拟二 作业
- 2025.10.26 25秋DC0703 背包进阶 作业
- 2025.10.19 25秋DC0703 背包入门 作业
- 2025.10.10 复赛真题练习 作业
- 2025.09.21 25秋DC0703 线性dp 作业
- DC07-1/-2 9.20 杂项串讲 作业
- DC0703-Lesson1:质数筛 作业
- 20250822C++ 2024东城科技馆DC1-4作业 作业
- 20250814C++ 2024东城科技馆DC1-4作业 作业
- 9月考级前自行完成-暑期集训3-2班作业 作业
- 20250807C++ 2024东城科技馆DC1-4作业 作业
- 20250731C++ 2024东城科技馆DC1-4作业 作业
- 20250805前完成-暑期集训3-2班作业 作业
- 东方茂暑期C++集训3号教室测试 OI
- 20250723暑期集训3-2班作业 作业
- 20250722暑期集训3-2班作业 作业
- 20250721暑期集训3-2班作业 作业
- 20250720暑期集训3-2班作业 作业
- 20250719暑期集训3-2班作业 作业
- 20250718暑期集训3-2班作业 作业
- 20250717暑期集训3-2班作业 作业
- 20250716暑期集训3-2班作业 作业
- 20250715暑期集训3-2班作业 作业
- 20250713暑期集训3-2班作业 作业
- 20250712暑期集训3-2班作业 作业
- 20250711暑期集训3-2班作业 作业
- 20250710暑期集训3-2班作业 作业
- 20250622C++ 2024东城科技馆DC1-4作业-第37节-递归算法 作业
- 20250615C++ 2024东城科技馆DC1-4作业-第36节-return及函数应用 作业
- 20250608C++ 2024东城科技馆DC1-4作业-第35节-函数 作业
- 20250525C++ 2024东城科技馆DC1-4作业-第34节-字符数组和字符串 作业
- 20250518C++ 2024东城科技馆DC1-4作业-第33节-二维数组 作业
- 20250511C++ 2024东城科技馆DC1-4作业-第32节-数组和越界 作业
- 20250428C++ 2024东城科技馆DC1-4作业-第32节-数组和越界 作业
- 2025第一实验小学高年级 作业
- 20250413C++ 2024东城科技馆DC1-4作业-第30节-多重循环与进制转换 作业
- 20250330C++ 2024东城科技馆DC1-4作业-第29节-双重循环的应用 作业
- 20250323C++ 2024东城科技馆DC1-4作业-第28节-循环嵌套 作业
- 20250317C++ 2024东城科技馆DC1-4作业-第28节-循环嵌套 作业
- 20250316C++ 2024东城科技馆DC1-4作业-复习巩固基础语法 作业
- 20250310C++ 2024东城科技馆DC1-4作业-复习巩固基础语法 作业
- 20250309C++ 2024东城科技馆DC1-4作业-复习巩固基础语法 作业
题目标签
- 一本通编程启蒙
- 17
- 数据结构
- 7
- 贪心
- 6
- 动态规划
- 5
- 其他
- 5
- GESP二级
- 4
- CSP-J
- 3
- 栈
- 3
- 链表
- 3
- 背包问题
- 3
- 图论
- 3
- 背包
- 3
- 1
- 2
- NOIP 普及组
- 2
- for循环双重嵌套
- 2
- 数论
- 2
- 排序
- 2
- GESP四级
- 2
- 双指针
- 2
- GESP五级
- 2