2025牛客寒假算法基础集训营6 ptlks的题解
A.复制鸡
题意:
反推原数列,求最短
思路
相同相邻的数可以合并。
代码
点击查看代码
int a[N];
void solve() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int s=0;
a[0]=-1;
for(int i=1;i<=n;i++){
if(a[i]!=a[i-1]){
s++;
}
}
cout<<s<<endl;
}
B.好伙计猜拳
题意:
求使序列合法的最少代价。
思路
直接dp即可,用map存状态。
代码
点击查看代码
void solve() {
int n,c1,c2;
cin>>n>>c1>>c2;
map<PII,int>m,m1;
m[{0,0}]=0;
for(int i=1;i<=n;i++){
int x,y;
cin>>x>>y;
for(auto [u,s]:m){
auto[a,b]=u;
if(a<=x&&b<=y){
if(m1.count({x,y})==0)m1[{x,y}]=s;
else m1[{x,y}]=min(s,m1[{x,y}]);
}
if(a<=y&&b<=x){
if(m1.count({y,x})==0)m1[{y,x}]=s+c2;
else m1[{y,x}]=min(s+c2,m1[{y,x}]);
}
if(m1.count({a,b})==0)m1[{a,b}]=s+c1;
else m1[{a,b}]=min(s+c1,m1[{a,b}]);
}
m=m1;
m1.clear();
}
int mn=INT64_MAX;
for(auto[u,s]:m){
mn=min(mn,s);
}
cout<<mn<<endl;
}
C.数列之和
题意:
求题目所给第k大
思路
不难发现序列中均为偶数,且大于2的2的整数幂均为出现。
代码
点击查看代码
void solve() {
int k;
cin>>k;
int s=k*2;
int p=4;
while(p<=s){
s+=2;
p*=2;
}
cout<<s<<endl;
}
H.小鸡的排列构造
题意:
题目给了限制,要求构造排列。
思路
由于题目保证一组测试数据中输入的所有l,r的奇偶性相同,分奇数偶数构造,只要保证所有合法区间都满足题目限制即可。
代码
点击查看代码
void solve() {
int n,m;
cin>>n>>m;
int s=0;
for(int i=1;i<=m;i++){
int l,r,c;
cin>>l>>r>>c;
s=(r-l)%2;
}
if(s){
for(int i=n;i>0;i--){
cout<<i<<' ';
}cout<<endl;
}else{
int p=n;
cout<<p<<' ';
for(int i=p-2;i>=1;){
cout<<i<<' '<<i+1<<' ';
i-=2;
if(i==0){
cout<<1;
}
}
cout<<endl;
}
}
I.小鸡的排列构造的checker
题意:
询问区间内小于等于c的个数。
思路
主席树板子。
代码
点击查看代码
略
J.铁刀磨成针
题意:
求题目所给最大值。
思路
磨刀优先级最高,然后枚举开始攻击的时刻。
代码
点击查看代码
void solve() {
int n,x,y;
cin>>n>>x>>y;
int mx=0;
for(int i=1;i<=y&&i<=n;i++){
int s=0;
int xx=x+i;
if(y<=n){
s+=xx*(y-i+1);
if(y+xx<=n){
s+=(xx)*(xx-1)/2;
}else{
s+=(xx-(n-y)+xx-1)*(n-y)/2;
}
}else{
s+=xx*(n-i+1);
}
mx=max(mx,s);
}
cout<<mx<<endl;
}
K.鸡翻题
题意:
签到。
思路
见代码。
代码
点击查看代码
void solve() {
int x,y;
cin>>x>>y;
if((y-(x+x+1))%4==0){
cout<<"YES\n";
}else{
cout<<"NO\n";
}
}
K.鸡翻题
题意:
签到。
思路
见代码。
代码
点击查看代码
void solve() {
int x,y;
cin>>x>>y;
if((y-(x+x+1))%4==0){
cout<<"YES\n";
}else{
cout<<"NO\n";
}
}
L.变鸡器
题意:
签到。
思路
直接判断即可。
代码
点击查看代码
略
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现