社区讨论

有没有dalao解救一下蒟蒻的码风

学术版参与者 13已保存回复 20

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
20 条
当前快照
1 份
快照标识符
@mkie4xxy
此快照首次捕获于
2026/01/17 22:16
上个月
此快照最后确认于
2026/01/21 10:10
4 周前
查看原帖
rt,这是以前的码风(P1020):
CPP
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+10; 
ll x[N];
ll d[N],cnt[N];
int main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	ll n=0;
	while(cin>>x[n]){
		n++;
	}
	ll s;
	ll Acnt=0;
	for(s=1;s<=n;s++){
		*lower_bound(d+1,d+Acnt+1,x[s])=x[s];
		cnt[lower_bound(d+1,d+Acnt+1,x[s])-d]++;
		if(lower_bound(d+1,d+Acnt+1,x[s])-d==Acnt+1){
			Acnt++;
		}
	}
	cout<<*max_element(cnt+1,cnt+Acnt+1)<<endl<<Acnt;
	return 0;
}
这是我近期改了之后的码风(P1208):
CPP
using namespace std;
typedef long long ll;
struct H{
    ll He,Li;
};
const ll Be=5e3+10;
H B[Be];
bool F(H Ne,H Na){
    return Ne.He<Na.He;
}
int main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	ll C,N;
    cin>>C>>N;
    ll O;
    for(O=1;O<=N;O++){
        cin>>B[O].He>>B[O].Li;
    }
    sort(B+1,B+N+1,F);
    O=1;
    ll Mg=0,Al=0;
    while(Al+B[O].Li<=C && O<=N){
        Mg+=B[O].He*B[O].Li;
        Al+=B[O].Li;
        O++;
    }
    cout<<Mg+(C-Al)*B[O].He;
	return 0;
}
改来改去就是改不到题解代码里的那种清醒自然的,就像是依托**,有没有dalao有解决的方法?蒟蒻感激不尽!

回复

20 条回复,欢迎继续交流。

正在加载回复...