备忘录
2024-10-04 11:31:46
发布于:江苏
#include <bits/stdc++.h>
using namespace std;
long long d,ans=INT_MAX,a[2000005];
int main(){
cin>>d;
for(long long x=0;x<=2000000;x++) a[x]=x*x;
for(long long x=0;x<=2000000;x++){
long long t=d-x*x;
int k=lower_bound(a,a+2000000,t)-a;
ans=min(ans,abs(a[x]+a[k]-d));
if(k-1<0) continue;
ans=min(ans,abs(a[x]+a[k-1]-d));
}
cout<<ans;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
long long n,ans,a[405];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
a[x+200]++;
}
for(int i=0;i<=400;i++) ans=max(ans,a[i]);
for(int i=0;i<=400;i++){
int k=i;
for(int d=1;d<=400;d++){
long long cnt=0;
while(a[k]){
k+=d;
cnt++;
}
ans=max(ans,cnt);
}
}
cout<<ans;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
long long n,a[200005],cnt,ans,dp[200005][2];
int main(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
dp[0][1]=0x3f3f3f3f3f3f3f3f;
for(int i=1;i<=n;i++){
dp[i][0]=max(dp[i-1][1]+a[i]*2,dp[i-1][0]);
dp[i][1]=max(dp[i-1][0]+a[i],dp[i-1][1]);
}
cout<<max(dp[n][0],dp[n][1]);
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int n,m,k,a[105][20],cnt[20],f[20],ans;
void dfs(int id){
if(id>m){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(f[a[i][j]]){
cnt[a[i][j]]++;
break;
}
}
}
int maxid=1;
for(int i=2;i<=m;i++){
if(cnt[i]>cnt[maxid]) maxid=i;
}
if(maxid==k){
int t=0;
for(int i=2;i<=m;i++){
if(!f[i]) t++;
}
ans=min(ans,t);
}
}
dfs(id+1);
}
int main(){
cin>>n>>m>>k;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
cnt[a[i][i]]++;
}
int maxid=1;
for(int i=2;i<=m;i++){
if(cnt[i]>cnt[maxid]) maxid=i;
}
cout<<maxid<<endl;
dfs(1);
cout<<ans<<endl;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int a[200005],cnt[200005],n,q;
set<int > st;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]>n) continue;
cnt[a[i]]++;
for(int i=0;i<=n;i++){
if(!cnt[i]) st.insert(i);
}
cin>>q;
while(q--){
int k,x;
cin>>k>>x;
if(a[k]<=n){
cnt[a[k]]--;
if(cnt[a[k]]==1) st.insert(a[k]);
}
if(x<=n){
cnt[x]++;
if(cnt[x]==1){
st.erase(x);
}
}
cout<<(*st.begin())<<endl;
}
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int x[200005],t[505],n,k,f[200005][70],a[200005];
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>x[i];
f[i][0]=x[i];
}
for(int i=1;i<=63;i++){
for(int j=1;j<=n;j++){
f[j][i]=f[f[j][i-1]][i-1];
}
}
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int j=1;j<=n;i++){
int ans=j;
for(int i=0;i<=63;i++){
if(k&(1ll<<i)){
t[a[ans]];
}
}
cout<<a[ans]<<' ';
}
return 0;
}
这里空空如也
有帮助,赞一个