当前位置: 首页 > news >正文

第一次训练赛题解

这场比赛挂了几道牛客上的题目,比赛地址:https://www.nowcoder.com/acm/contest/118815。【邀请码:nuc2025】

下面是题解内容:

A:

链接: A-A_NUC第一次训练赛

思路:

直接暴力即可,反正范围也不大。

暴力代码:

#include<bits/stdc++.h>
using namespace std;
int main(){int l,r;cin>>l>>r;int cnt=0;for(int i=l;i<=r;i++)if(i%2==0)cnt++;cout<<cnt<<'\n';return 0;
}

或者也可以直接利用前缀和思想,我们可以很容易知道区间【1,n】中有多少个数满足2的倍数,且【l,r】=【1,r】-【1,l-1】。

所以也可以按照如下写法进行优化。

优化代码:

#include<bits/stdc++.h>
using namespace std;
int main(){int l,r;cin>>l>>r;cout<<r/2-(l-1)/2<<'\n';return 0;
}

B:

链接: B-B_NUC第一次训练赛

思路:

开2个数组cnt1和cnt2,分别存储 字符串前一半或者后一半 每个小写字母出现的次数。

然后我们想要变成双生数组,就需要分别对cnt1、cnt2找到其中出现次数最多的相加,然后len-最多次数即为答案。

AC代码:

#include<bits/stdc++.h>
using namespace std;
string s;
int cnt1[50],cnt2[50];
int main(){cin>>s;int len=s.size();s=" "+s;for(int i=1;i<=len;i++){int x=s[i]-'a';if(i<=len/2)cnt1[x]++;elsecnt2[x]++;}int d1,d2;d1=d2=1e9;for(int i=0;i<26;i++){d1=min(d1,len/2-cnt1[i]);d2=min(d2,len/2-cnt2[i]);}cout<<d1+d2<<'\n';return 0;
}

C:

链接: C-C_NUC第一次训练赛

思路:

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+100;
int n,x;
ll k;
int a[N],b[N];
int len;
int main(){cin>>n>>k>>x;for(int i=0;i<n;i++)cin>>a[i];ll c=(x-k%x)%x;for(int i=c;i<x;i++)b[len++]=a[i];for(int i=0;i<c;i++)b[len++]=a[i];for(int i=x;i<n;i++)b[len++]=a[i];for(int i=0;i<n;i++)cout<<b[i]<<' ';return 0;
}

D:

链接: D-D_NUC第一次训练赛

思路:

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=1e9+7;
const int N=1e5+100;
ll n;
ll A[N];void init(){A[0]=1;for(int i=1;i<=n;i++)A[i]=A[i-1]*i%mod;
}int main(){cin>>n;init();ll a=n/2,b=n-n/2;ll ans;if(n%2==1){ans=A[a]*A[b]%mod;}else{ans=2*A[a]*A[b]%mod;}cout<<ans<<'\n';return 0;
}
E:
链接: E-E_NUC第一次训练赛
思路:
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1010;
int n,c,m;
ll dp[N][10];
//整体 0/1背包,遇到组合就分组背包
bool st[N];
ll a[N],b[N];int main(){cin>>n>>c>>m;for(int i=1;i<=n;i++)cin>>a[i]>>b[i];for(int i=1;i<=m;i++){int u,v,w;cin>>u>>v>>w;st[u]=st[v]=true;for(int j=c;j>=min(a[v],a[u]);j--){for(int k=4;k>=1;k--){if(j>=a[v]+a[u]&&k>=2)dp[j][k]=max(dp[j][k],dp[j-a[v]-a[u]][k-2]+b[u]+b[v]+w);if(j>=a[v]&&k>=1)dp[j][k]=max(dp[j][k],dp[j-a[v]][k-1]+b[v]);if(j>=a[u]&&k>=1)dp[j][k]=max(dp[j][k],dp[j-a[u]][k-1]+b[u]);}}    }for(int i=1;i<=n;i++){if(st[i]==false){for(int j=c;j>=a[i];j--)for(int k=4;k>=1;k--){dp[j][k]=max(dp[j][k],dp[j-a[i]][k-1]+b[i]);}}}cout<<dp[c][4]<<'\n';return 0;
}
F:
链接: F-F_NUC第一次训练赛
思路:
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+100;
int n;
int a[N];
ll cnt[20][20];
ll qmi(ll a,ll b,ll c){ll res=1;while(b){if(b&1)res=res*a%c;a=a*a%c;b>>=1;}return res;
}//返回x的位数
int len(int x){int r=0;while(x){x/=10;r++;}return r;
}int main(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i];int x,y;x=len(a[i]);y=a[i]%11;cnt[x][y]++;}ll ans=0;for(int i=1;i<=n;i++){int y=a[i]%11;for(int h=1;h<=9;h++){int r=(11-y*qmi(10,h,11)%11)%11;int res=cnt[h][r];if(y==r&&len(a[i])==h)res--;ans+=res;}}cout<<ans<<'\n';return 0;
}
G:
链接: G-G_NUC第一次训练赛
思路:
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+100;
ll n,k;
ll c[N];
bool st[N];int main(){cin>>n>>k;if(n*(n+1)/2+n<k||k<3*n-1){cout<<-1<<'\n';return 0;}ll d=k-(3*n-1);st[n-1]=true;for(int i=n-2;i>=1;i--){if(d>=i){d-=i;st[i]=true;}}int len=0;for(int i=1;i<n;i++){if(st[i]){c[++len]=i;}}for(int i=1;i<=n;i++){if(!st[i]){c[++len]=i;}}for(int i=1;i<=n;i++)cout<<c[i]<<' ';return 0;
}
H:
链接: H-H_NUC第一次训练赛
思路:
AC代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+100;
ll n,k;
int a[N];
int main(){cin>>n>>k;if(k<(n+1)/2||k>=n){cout<<-1<<'\n';return 0;}ll c=k-(n+1)/2;for(int i=1,j=n;i<=n;i++,j--)a[i]=j;if(n%2==1)swap(a[n/2+1],a[n/2+2]);int i=1;while(c){c--;swap(a[i],a[i+1]);i+=2;}for(int i=1;i<=n;i++)cout<<a[i]<<' ';return 0;
}

http://www.dtcms.com/a/434685.html

相关文章:

  • 在线购物网站 模版怎么开网店具体流程
  • 返回值:on()方法返回的是当前jQuery对象
  • 你用过快捷支付吗?这是一种什么支付方式?
  • 自己做的网页加在网站文章上为什么打不开门户网站系统架构
  • 韩国在中国做美食的视频网站有哪些企业网站建设开发服务
  • (C语言数据结构)二叉树-概念-性质-存储结构-遍历-代码实现层层刨析
  • 面试MySQL 高级问题及解答(三)
  • 网站网页转小程序教程wordpress评论框背景图片
  • 【代码随想录day 32】 力扣 70.爬楼梯
  • Leetcode 76. 最小覆盖子串 滑动窗口+哈希表
  • 深入理解HarmonyOS ArkTS语法:从基础类型到高级组件开发
  • 安卓基础组件023-SharedPerferences
  • Qt信号与槽在多线程编程中的应用与注意事项
  • Data Agent革命:智能数据分析时代的到来
  • 可观测性体系建设:Java Agent实现方法级调用链追踪实践
  • 制作企业网站新闻列表页面网页设计2021电商行业发展现状及趋势
  • 温州网站优化php wordpress漏洞
  • 网站是否必须做认证技术支持东莞网站建设
  • 如何设计量子密钥管理系统?——面向后量子时代的密钥管理架构与核心功能探讨
  • 免费网站优化软件wordpress不能登录
  • 小迪web自用笔记46
  • 第七章 卷积神经网络(CNN)
  • 利用开源软件开发应用程序的设计开发流程
  • 【深入理解计算机网络02】计算机网络的分类与性能指标
  • Linux 基本指令完整版(2)
  • 2016 年真题配套词汇单词笔记(考研真相)
  • iBizModel 实体映射模型(PSDEMAP)详解
  • 国家工程建设标准化网站一站式网站建设设计
  • k8s知识点总结5
  • 一级a做爰片官方网站山东城市建设职业学院教务网网站