救人
2024-12-14 14:29:29
发布于:浙江
#include <bits/stdc++.h>
using namespace std;
const int maxSize = 109;
int getPriority(char op){
if(op == '+' || op == '-') return 0;
return 1;
}
void infixToPostFix(char infix[],char s2[],int& top2){
char s1[maxSize];int top1 = -1;
int i = 0;
while(infix[i] != '\0'){
if('a' <= infix[i] && infix[i] <= 'z'){
s2[++top2] = infix[i];
++i;
}
else if(infix[i] == '('){
s1[++top1] = '(';
++i;
}
else if(infix[i] == '+' || infix[i] == '-' || infix[i] == '*' || infix[i] == '/'){
if(top1 == -1 || s1[top1] == '(' || getPriority(infix[i]) > getPriority(s1[top1])){
s1[++top1] = infix[i];
++i;
}
else s2[++top2] = s1[top1--];
}
else if(infix[i] == ')'){
while(s1[top1] != '(') s2[++top2]= s1[top1--];
--top1;
++i;
}
}
while(top1 != -1) s2[++top2] = s1[top1--];
}
char s[109],res[109];
int main(){
cin >> s;
int len = -1;
infixToPostFix(s,res,len);
for(int i = 0;i <= len;i++) cout << res[i];
}
全部评论 67
d
2025-02-22 来自 浙江
3顶
2025-02-22 来自 浙江
3
2025-02-22 来自 浙江
3
顶
2024-12-14 来自 浙江
3顶
2024-12-14 来自 浙江
3顶
2024-12-14 来自 浙江
3@qi qpzc

2025-02-22 来自 浙江
2顶
2024-12-14 来自 浙江
2#include<bits/stdc++.h> using namespace std; const int N=1e6+10; int a[N]{}; int dp[N]{}; vector<int>t[N]; void dfs(int u,int fa){ dp[u]=a[u]; for(auto son:t[u]){ if(son==fa)continue; dfs(son,u); if(dp[son]>0){ dp[u]=dp[son]+dp[u]; } } return; } int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<n;i++){ int u,v; cin>>u>>v; t[u].push_back(v); t[v].push_back(u); } dfs(1,0); int ans=-0; for(int i=0;i<=n;i++)ans=max(ans,dp[i]); cout<<ans; return 0; }2025-05-24 来自 浙江
1#include <bits/stdc++.h> using namespace std; long long dp[2009]; struct node{ int w,c; }; vector<node> ve[100009]; int m,n,t; int main(){ cin >> m >> n; for(int i = 0;i <= n;i++){ int w,c,p; cin >> w >> c >> p; ve[p].push_back({w,c}); } for(int i = 1;i <= 100;i++){ for(int j = m;j >=0;j--){ for(int k = 0;k < ve[i].size();k++){ if(j >= ve[i][k].w) dp[j] = max(dp[j],dp[j - ve[i][k].w] + ve[i][k].c); } } } cout << dp[m]; }2025-05-17 来自 浙江
1本贴超过榜10了!!!!!
2025-04-12 来自 浙江
13.15大根堆
#include <bits/stdc++.h> using namespace std; int main(){ int n,m; cin >> n >> m; priority_queue<int> q; for(int i = 0;i < n;i++){ int a,b,c; cin >> a >> b >> c; for(int j = 1;j <= m;j++){ int tem = a * j * j + b * j + c; if(q.size() < m) q.push(tem); else if(q.top() > tem){ q.pop(); q.push(tem); } else break; } } vector<int> ve; while(q.size()){ ve.push_back(q.top()); q.pop(); } for(int i = ve.size() - 1;i >= 0;i--) cout << ve[i] << ' '; }2025-03-15 来自 浙江
1兄弟们,顶!











2025-03-08 来自 浙江
1顶
2025-02-22 来自 浙江
1fd
2025-02-22 来自 浙江
1d
2025-02-22 来自 浙江
1d
2025-02-22 来自 浙江
1d
2025-02-22 来自 浙江
1d
2025-02-22 来自 浙江
1#include<bits/stdc++.h> using namespace std; const int N=10000000; int n,m,x,c,l,r; int a[N],s[N]; vector<int>alls; vector<pair<int,int> >add,query; int find(int x) { return lower_bound(alls.begin(), alls.end(), x) - alls.begin() + 1; } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>x>>c; add.push_back({x,c}); alls.push_back(x); } for(int i=1;i<=m;i++){ cin>>l>>r; query.push_back({l,r}); alls.push_back(l); alls.push_back(r); } sort(alls.begin(), alls.end()); alls.erase(unique(alls.begin(), alls.end()), alls.end()); for(auto it:add){ x=find(it.first); a[x]+=it.second; } for(int i=1;i<=alls.size();i++) s[i]=s[i-1]+a[i]; for(auto it:query){ l=find(it.first); r=find(it.second); cout<<s[r]-s[l-1]<<endl; } }7小时前 来自 浙江
0考古(
1周前 来自 重庆
0























有帮助,赞一个