Acwing第 40 场周赛【完结】
这把打的很烂,T2想的时间有点慢还wa了一发。
T3吃完饭后来写的,想到了dfs,不过最后一个点没过,debug到结束才搞出来。
总结,太废物了掉大分
目录
- 4305. 斐波那契字符串【签到】
- 4306. 序列处理【贪心】
- 4307. 数字重构【dfs】
4305. 斐波那契字符串【签到】
#include<bits/stdc++.h>
using namespace std;
int n,f[50];
map<int,int>mp;
int main(void)
{f[1]=1,f[2]=1,mp[1]++;cin>>n;for(int i=3;i<=30;i++) f[i]=f[i-1]+f[i-2],mp[f[i]]++;for(int i=1;i<=n;i++){if(mp[i]) cout<<"O";else cout<<"o";}return 0;
}
4306. 序列处理【贪心】
只能加,故直接排序模拟即可。
#include<bits/stdc++.h>
using namespace std;
const int N=1e5*2+10;
int n,a[N],mp[N];
vector<int>ve;
int main(void)
{cin>>n;for(int i=1;i<=n;i++) {cin>>a[i];if(mp[a[i]]) ve.push_back(a[i]);mp[a[i]]++;}sort(ve.begin(),ve.end());int sum=0;for(int i=0;i<ve.size();i++){while(mp[ve[i]]) sum++,ve[i]++;mp[ve[i]]++;}cout<<sum;return 0;
}
4307. 数字重构【dfs】
#include<bits/stdc++.h>
using namespace std;
int n,m,t,flag;
int cnt[105];
string s1,s2,ans;
bool cmp(char a,char b){return a>b;}
void dfs(string s,int index)
{if(cnt[s2[index]-'0'])//选这一位{string temp;temp+=s2[index]; cnt[s2[index]-'0']--;for(int i=0;i<=9;i++)for(int j=0;j<cnt[i];j++) temp=temp+to_string(i);temp=s+temp;if(temp<s2) dfs(s+s2[index],index+1);//最小的和小于bif(temp==s2) ans=s2,flag=1;//相等else cnt[s2[index]-'0']++;//最小的都大于b}if(flag) return;for(int i=s2[index]-'0'-1;i>=0;i--) {if(cnt[i]){s+=to_string(i);cnt[i]--;for(int k=9;k>=0;k--)for(int j=0;j<cnt[k];j++) s=s+to_string(k);ans=s;flag=1;break;}}
}
int main(void)
{cin>>s1>>s2;if(s1.size()<s2.size()){sort(s1.begin(),s1.end(),cmp);cout<<s1;return 0;}if(s1==s2){cout<<s1;return 0;}for(int i=0;i<s1.size();i++) cnt[s1[i]-'0']++;dfs("",0);cout<<ans;return 0;
}
贪心思维,放最大的看后面最小可不可以满足。
#include<bits/stdc++.h>
using namespace std;
int cnt[20];
string a,b,ans;
bool check(int x)
{cnt[x]--;string temp=ans+to_string(x);for(int i=0;i<=9;i++) {for(int j=1;j<=cnt[i];j++) temp+=to_string(i);}cnt[x]++;if(b.size()!=a.size()) return a.size()<b.size();else return temp<=b;
}
int main(void)
{cin>>a>>b;for(int i=0;i<a.size();i++) cnt[a[i]-'0']++;for(int i=0;i<a.size();i++){for(int j=9;j>=0;j--){if(cnt[j]&&check(j)){ans+='0'+j;cnt[j]--;break;}}}cout<<ans;return 0;
}
Acwing第 40 场周赛【完结】相关推荐
- Acwing 第 91 场周赛
Powered by:NEFU AB-IN B站直播录像! Link 文章目录 Acwing 第 91 场周赛 A AcWing 4861. 构造数列 题意 思路 代码 B AcWing 4862. ...
- Acwing 第 89 场周赛
Powered by:NEFU AB-IN B站直播录像! Link 文章目录 Acwing 第 89 场周赛 A AcWing 4803. 满足的数 题意 思路 代码 B AcWing 4804. ...
- Acwing第72场周赛+Leetcode第314场周赛
Acwing第72场周赛 第一题:AcWing 4624. 最小值 分析:向下取整可以用到math.h头文件中的floor()函数,最后输出时套用两个min()函数求三个数的最小值即可. 代码: #i ...
- AcWing——第55场周赛
AcWing--第55场周赛 竞赛 - AcWing 4479. 最长子序列 - AcWing题库 给定一个长度为 n 的序列 a1,a2,-,an 和一个长度为 m 的序列 b1,b2,-,bm. ...
- Acwing 第 95 场周赛
Powered by:NEFU AB-IN Link 文章目录 Acwing 第 95 场周赛 A AcWing 4873. 简单计算 题意 思路 代码 B AcWing 4874. 约数 题意 思路 ...
- Acwing第 29 场周赛【完结】
TLE场 目录 4194. Pow[签到] 4195. 线段覆盖[离散化+差分] 4196. 最短路径[最短路] 4194. Pow[签到] https://www.acwing.com/proble ...
- Acwing第 21 场周赛【完结】
这场比赛是有史以来,最拉的一场.开始太慌了,第一题没看数据范围直接开始写.wa了四发后,才发现可以暴力. 第二题超时的模拟,规律一直没有找出来.总之,状态及其不好掉了大分.无语. 目录 3997. 整 ...
- Acwing第 39 场周赛【完结】
目录 4302. 元素分类[签到] 4303. 链表[链表] 4304. 字符串归类[并查集] 4302. 元素分类[签到] https://www.acwing.com/problem/conten ...
- Acwing第 38 场周赛【完结】
目录 4299. 删点[签到] 4300. 两种操作[BFS] 4301. 截断数列[枚举] 4299. 删点[签到] https://www.acwing.com/problem/content/4 ...
最新文章
- c语言初学 循环 的灵活使用小案例
- shell的相关知识(变量、脚本定义)
- Java 8中处理集合的优雅姿势——Stream
- java swing实现简单图片显示(测试生成图片快捷方式)
- zlib1.2.5的编译
- SpringBoot vue图片上传不能立即回显问题解决
- JavaFX布局中图片在表格中无法被自适应缩小?
- java数值加法null得到什么,fastjson 处理null值,对象为null时返回{},数字为null返回[]...
- 嵌入式数据库Sqlite移植教程-转
- 数据挖掘实践(金融风控)——task1:赛题理解
- SD敢达服务器源码,《sd高达wars》金手指代码 SD高达G世纪WARS金手指
- JDK 中需要掌握的常用类库
- tekton pipelineresource资源
- 腾讯cdn设置 php,wordpress网站使用腾讯CDN的最佳缓存配置
- 连个字体反爬都搞不定?你还说你会爬虫?看完这篇就会了。
- 2022年总结关于网络安全工程师职业发展方向和职业前景
- C# 完成WebSocket demo 用GoEasy实现Hello world
- 航嘉服务器维修电源,无故障60000小时,服务器/工控机电源推荐
- linux组权限管理,Linux组管理和权限管理
- 【积跬步以至千里】如何查看浏览器保存的密码