Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! D. Nastya and Scoreboard题解(记忆化搜索)
题目链接
题目大意
一个n个数码位的分数板,每一个数码位都是一个七段数码管,现在给出每个数码位的显示情况,问再点亮k段数码管的话能显示的最大的数是多少,如果不能构成一串数字,就输出-1。答案允许有前导0,但是有前导0的时候答案长度必须要跟n一致
题目思路
emm。。我完全没什么思路,但其实想想感觉是贪心一下就可以了,看到了rk1的神仙代码真是妙不可言,直接记忆化搜索,也可以dp,但感觉记忆化搜索更好
代码
#include<bits/stdc++.h>
using namespace std;
const int maxn=2e3+5,tab[]={119,18,93,91,58,107,111,82,127,123};
int n,k,a[maxn],ans[maxn];
bool vis[maxn][maxn];
char s[10];
void dfs(int pos,int cost){if(vis[pos][cost]||cost>k){//已经搜过,或者cost>kreturn ;}vis[pos][cost]=1;if(pos==n+1){if(cost==k){for(int i=1;i<=n;i++){printf("%d",ans[i]);}exit(0);//正常运行程序并退出程序}return ;}for(int i=9;i>=0;i--){ans[pos]=i;if((tab[i]&a[pos])==a[pos]){//表示tab[i]可以由a[pos]转移来dfs(pos+1,cost+__builtin_popcount(tab[i]^a[pos]));}}
}
int main(){scanf("%d %d",&n,&k);for(int i=1;i<=n;i++){scanf("%s",s+1);for(int j=1;j<=7;j++){a[i]=a[i]*2+s[j]-'0';}}dfs(1,0);printf("-1\n");return 0;
}
Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! D. Nastya and Scoreboard题解(记忆化搜索)相关推荐
- Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! B.Nastya and Door
题目链接 On February 14, Denis decided to give a Valentine to Nastya and did not come up with anything b ...
- Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! C. Nastya and Strange Generator
题目链接 Being upset after this behavior of Nastya, Denis was very sad. Nothing could make the rejected ...
- Codeforces Round #614 (Div. 2) E. Xenon's Attack on the Gangs(DP记忆化搜索+思维)
题目链接:https://codeforces.com/contest/1293/problem/E 题目大意: 给出一棵树,要求给树的每条边赋权值,使得树中所有点的 m e x ( x , y ...
- 欠债还钱、Codeforces Round #637 (Div. 2) -D(多重背包)
Description llk经常和wy一起去yh小饭馆吃盖浇饭,一天他们吃完后llk把两个人的钱一起付了,但是wy不想欠llk的钱.现在wy手中有一些散钱,llk手中也有一些散钱,wy想知道能不能刚 ...
- Codeforces Round #594 (Div. 2) C. Ivan the Fool and the Probability Theory 思维 + dp
文章目录 题意: 思路 题意: 思路 一开始找规律,表都打好了,没找出来.. 找规律还是适合让队友来. 先考虑第一行,我们先计算第一行的方案数,设f[i][j]f[i][j]f[i][j]表示到了ii ...
- 【Codeforces Round #532 (Div. 2) F. Ivan and Burgers】离线+线性基
F. Ivan and Burgers 题意 n个数,q次询问,每次询问一个区间内选出任意个数的异或最大值. 1<=n<=5∗1051<=n<=5*10^51<=n< ...
- Codeforces Round #532 (Div. 2) F. Ivan and Burgers(可持久化异或线性基+双指针)
题意 给n个数,q组询问,每次询问l到r的最大异或和 思路来源 某cf奆神代码 题解 本来应该是线性基上分治的 这里一发基数+贪心也能过 真是神仙代码啊 双指针的经典应用: 对于每个询问[l,r],r ...
- Codeforces Round #637 (Div. 2) C. Nastya and Strange Generator 题解(阅读理解+简单思维)
题目链接 题目大意 真难读 问给定的序列能不能用题中所给的算法生成. 比如,题目中举的例子:原序列a: [ 2 3 * * 1 ],先得出 r 数组 [ 3, 3 ,3 ,4 , * ] .r 数组的 ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
最新文章
- 数据挖掘终篇!一文学习模型融合!从加权融合到stacking, boosting
- 飞书与德勤管理咨询达成战略合作,赋能企业实现智慧运营与管理
- AS3中,setTimeOut、setInterval、Timer区别
- 力扣- -241.为运算表达式设计优先级
- java:Eclipse:Juno:设置workspace路径
- 使用阿里云智能翻译接口案例——CSDN博客
- 使用Spring Security添加RememberMe身份验证
- ZOJ 1904 海狸咬木
- Android中JNI编程出现“Invalid arguments ' Candidates are: void * malloc(?) '”的解决方案
- Android学习之Android 5.0分享动画实现微信点击全屏效果
- 破解TexturePacker加密资源
- asp.net922-基于Web的房屋中介管理信息系统
- 针式 PKM 个人知识管理软件 帮助
- SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-002-本章的源代码...
- 无限乱斗连接服务器失败,LOL新版无限乱斗模式服务器挤爆怎么办 客户端哪些功能被限制...
- CSS篇之5. 样式的层级关系,选择器优先级,样式冲突,以及抽离样式模块怎么写,说出思路,有无实践经验
- 图卷积(1)——从欧式空间到非欧式空间
- 数加平台在数据挖掘项目中的实践 1
- Java 使用Docx4j实现word文档Docx格式转Doc格式
- 阿里云架构和openstack架构简析
热门文章
- 02 数据库语言SQL
- java取素数(质数)
- POI-5.2.2 操作 word 【表格】
- 【计算机毕业设计】jsp+java ssm社会保险养老系统
- MyEclipse调试时,变量一栏中:红色、黄色图标开头的变量分别代表的含义
- c++imread 函数_关于图像读取函数imread()的一点使用经验,注意默认参数的赋值
- JSON里的大括号{}和中括号[]。(关于JSON的结构)
- 一条龙搭建短视频去水印小程序,支持图集解析
- java接口是干啥_浅谈Java接口
- HTML中:after和:before的作用及其用法