Codeforces Round 937 (Div. 4)(D~G)

D - Product of Binary Decimals 

        题意:

        思路:观察到n的范围很小,先求出所有可能的二进制十位数,然后dp把所有可能的值求出来。注意不能用求因子的方法来求解,因为这些二进制十位数不一定是素数,先除某个数可能会影响整体的分解。(此题数据不大可以忽略)

        

set<int>v;
void dfs(int step , int num){if(step == 5){v.insert(num);return;}for(int i = 0 ; i < 2 ; i ++){int k = num * 10 + i;dfs(step + 1 , k);}
}
vector<int>pos;
vector<int>dp(N , 0);
void solve() 
{cin >> n;if(dp[n]){cout <<"YES\n";}elsecout <<"NO\n";
}            
signed main() 
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cout.precision(10);int t=1;cin>>t;dfs(0 , 0);for(auto it : v){pos.pb(it);}dp[0] = dp[1] = 1;for(int i = 1 ; i < N ; i ++){if(!dp[i]) continue;for(auto j : pos){if(i * j < N){dp[i * j] = 1;}else{continue;}}}while(t--){solve();}return 0;
}

E - Nearly Shortest Repeating Substring  

        题意:

        直接暴力求解,枚举字符串长度i,若长度是n的因子则将其分成\frac{n}{i}份,看是否满足题意。时间复杂度取决于n的因子数量,根据约数个数定理,约数数量约为\sqrt{n}个,因此复杂度为O(n * \sqrt{n})

        

void solve() 
{cin >> n;string s;cin >> s; for(int i = 1 ; i <= n ; i ++){if(n % i != 0){continue;}set<string>st;map<string,int>mp;for(int j = 0 ; j < n ; j += i){string str = s.substr(j , i);st.insert(str);mp[str]++;if(st.size() > 2){break;}}if(st.size() == 1){cout << i << endl;return;}if(st.size() > 2){continue;}else{vector<string>strr;for(auto it : st){strr.pb(it);}if(mp[strr[0]] > 1 && mp[strr[1]] > 1)continue;else{int cnt = 0;for(int j = 0 ; j < i ; j ++){if(strr[0][j] != strr[1][j]){cnt++;}if(cnt > 1)break;}if(cnt == 1){cout << i <<endl;return;}}}}	cout << n << endl;
}   

F - 0, 1, 2, Tree! 

        题意:

        若一棵树要尽可能的矮,那么每一层的结点要尽可能的多,而只有2个孩子的顶点才能增加每一层的结点个数,因此先放2个孩子的顶点,然后记录每一层的结点数,再将1个孩子的,0个孩子的顶点放进去。

        

void solve() 
{int a , b , c;cin >> a >> b >> c;if(a * 2 + b != a + b + c - 1){cout << -1 << endl;}	else{int t = 0;//层数int maxx = 1;//每一层最多有几个点while(a > maxx){a -= maxx;maxx *= 2;t++;}if(a > 0){b -= (maxx - a);maxx += a;//向下还有这么多t++;}while(b > 0){b -= maxx;t++;}cout << t <<endl;}
}   

G - Shuffling Songs  

       

将其看成图,能连着播放的点连边,然后考虑最多能选几个点。观察到n的数量极小,考虑状压DP求解。DP[i][j]表示了以i为状态,j为最后一个点的可能。

void solve() 
{cin >> n;string a[n] , b[n];vector<int>e(n , 0);for(int i = 0 ; i < n ; i++){cin >> a[i] >> b[i];}for(int i = 0 ; i < n ; i ++){for(int j = 0 ; j < n; j++){if(a[i] == a[j] || b[i] == b[j])e[i] |= (1 << j);}}vector< vector<int> > dp(1 << n , vector<int>(n , 0));//第一位状压,第二位表示最后一个for(int i = 0 ; i < n ; i ++){dp[1 << i][i] = 1;}for(int mask = 0 ; mask < (1 << n) ; mask++){for(int i = 0 ; i < n ; i ++){//最后一个点为i点if(!dp[mask][i])	continue;for(int j = 0 ; j < n ; j ++){//添加j点进去if((mask >> j & 1))//当前点已经选过了continue;if((e[i] >> j) & 1){//i到j有边存在dp[mask | (1 << j)][j] = 1;}}}}int ans = 0;for(int mask = 0; mask < (1 << n); mask ++) {for(int i = 0; i < n; i ++) {if(dp[mask][i]) {ans = max(ans, __builtin_popcount(mask));}}}cout << n - ans << endl;
}

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/778341.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

车道线检测项目 | 基于lanenet实现的实时车道线检测

项目应用场景 面向自动驾驶场景的车道线检测场景&#xff0c;项目的特点是能够达到实时的车道线检测 项目效果&#xff1a; 项目细节 > 具体参见项目 README.md (1) 安装依赖 pip3 install -r requirements.txt (2) 测试图片 python tools/test_lanenet.py --weights_pat…

|行业洞察·香氛|《小红书2023香水香氛营销宝典-71页》

报告内容的详细解读&#xff1a; 行业格局 预计到2025年&#xff0c;香水市场规模将超过300亿&#xff0c;小红书成为香水种草的重要平台。从2018年到2025年&#xff0c;市场规模持续增长&#xff0c;年增速保持在20%左右。香水市场的热度在节日节点尤为明显&#xff0c;如情…

以XX医院为例的医疗建筑能效管理系统【建筑能耗 供电可靠 】

一、行业背景 二、行业特点 1.供电可靠性要求高&#xff1a;医院配电系统复杂&#xff0c;门诊、急救、手术室、ICU/CCU、血液透析等场合特一级和一级负荷比较多&#xff0c;一旦发生故障会造成严重影响&#xff0c;对配电可靠性要求极高。 2.能耗水平高&#xff1a;医院能耗…

排序大乱炖

目录 一&#xff1a;插入排序 1.1直接插入排序 1.2希尔排序 二&#xff1a;选择排序 2.1选择排序 2.2堆排序 三&#xff1a;交换排序 3.1冒泡排序 3.2快速排序 3.2.1Hoare版本 3.2.2双指针法 3.2.3非递归 一&#xff1a;插入排序 1.1直接插入排序 直接插入排序…

自动化测试 —— Pytest fixture及conftest详解

前言 fixture是在测试函数运行前后&#xff0c;由pytest执行的外壳函数。fixture中的代码可以定制&#xff0c;满足多变的测试需求&#xff0c;包括定义传入测试中的数据集、配置测试前系统的初始状态、为批量测试提供数据源等等。fixture是pytest的精髓所在&#xff0c;类似u…

python pytz是什么

pytz模块常用于时区的转换&#xff0c;常常配合datetime一起使用。我们知道datetime除了data方法生成的时间是没有时区概念&#xff0c;其他如time、datetime等都是有时区概念&#xff0c;即指定了tzinfo信息。 >>> import datetime >>> datetime.datetime.n…

绿联 安装DockerCopilot,一键更新已安装的容器

1、镜像 0nlylty/dockercopilot:UGREEN 2、安装 2.1、基础设置 交互、TIY、硬件渲染全部开启&#xff1b; 容器能力&#xff1a;赋予全部能力&#xff1b; 重启策略&#xff1a;容器退出时总是重启容器。 2.2、网络 选择host模式。 2.3、存储空间 装载路径/data不允许修…

Verilog语法之case语句学习

case分支语句是一种实现多路分支控制的分支语句。与使用if-else条件分支语句相比&#xff0c;采用case分支语句来实现多路控制会变得更加的方便直观。 case分支语句通常用于对微处理器指令译码功能的描述以及对有限状态机的描述。Case分支语句有“case”、“casez”、“casex”…

excel 提取数字字符混合文本中的数字(快捷键ctrl+e)

首先&#xff0c;已知A列数据&#xff0c;在B1单元格输入A列中的数据&#xff0c;如3*4*6 第二部&#xff1a;全选对应的B列&#xff0c;然后&#xff1a; ctrld 批量复制 CTRLE 智能复制 由此可见&#xff0c;智能提取汉字与数字混合中的数字方法 。若想分别提取3个数字&am…

原型链-(前端面试 2024 版)

来讲一讲原型链 原型链只存在于函数之中 四个规则 1、引用类型&#xff0c;都具有对象特性&#xff0c;即可自由扩展属性。 2、引用类型&#xff0c;都有一个隐式原型 __proto__ 属性&#xff0c;属性值是一个普通的对象。 3、引用类型&#xff0c;隐式原型 __proto__ 的属…

ZK友好代数哈希函数安全倡议

1. 引言 前序博客&#xff1a; ZKP中的哈希函数如何选择ZK-friendly 哈希函数&#xff1f;snark/stark-friendly hash函数Anemoi Permutation和Jive Compression模式&#xff1a;高效的ZK友好的哈希函数Tip5&#xff1a;针对Recursive STARK的哈希函数 随着Incrementally Ve…

春秋云境CVE-2023-7130

简介 College Notes Gallery 2.0 允许通过“/notes/login.php”中的参数‘user’进行 SQL 注入。利用这个问题可能会使攻击者有机会破坏应用程序&#xff0c;访问或修改数据. 正文 这关有我用了两种办法&#xff0c;第一种是用报错注入进行手注&#xff0c;第二种就是sqlmap…

卡特尔16pf性格测试的用途,HR招聘测评和求职面试测评

卡特尔16pf性格测试&#xff0c;由美国心理学家卡特尔创建&#xff0c;通常简称为16pf&#xff0c;也叫16种人格因素&#xff0c;卡特尔把人格特征提取出16种特性&#xff0c;每种特性的不同并共同组合成丰富各异的人群。 而这16种人格因素&#xff0c;也常常被用于企业人力资…

Flask后端框架搭建个人图库

Hello&#xff0c;我是"小恒不会java" 前言 最近发现自己有一些站点图片丢失&#xff0c;原来是用了人家的链接。考虑到使用对象存储容易被刷流量&#xff0c;可以用flask这种轻量级框架快速实现网页登陆操作&#xff0c;行&#xff0c;也就不考虑正式生产环境那些复…

springcloud微服务项目,通过gateway+nacos实现灰度发布(系统不停机升级)

一、背景 灰度发布的目的是保证系统的高可用&#xff0c;不停机&#xff0c;提升用户体验。在微服务系统中&#xff0c;原有系统不下线&#xff0c;新版系统与原有系统同时在线&#xff0c;通过访问权重在线实时配置&#xff0c;可以让少量用户先应用新版本功能&#xff0c;如…

如何使用 ArcGIS Pro 制作三维建筑

三维地图已经逐渐成为未来地图的趋势&#xff0c;对于大范围应用&#xff0c;只需要普通的建筑体块就行&#xff0c;如果有高程数据&#xff0c;还可以结合地形进行显示&#xff0c;这里为大家介绍一下 ArcGIS Pro 制作三维建筑的方法&#xff0c;希望能对你有所帮助。 数据来…

睿尔曼超轻量仿人机械臂之复合机器人底盘介绍及接口调用

机器人移动平台是一个包含完整成熟的感知、认知和定位导航能力的轮式机器人底盘产品级平台&#xff0c;产品致力于为各行业细分市场的商用轮式服务机器人提供一站式移动机器人解决方案&#xff0c;让合作伙伴专注在核心业务/人机交互的实现。以下是我司产品双臂机器人以及复合升…

在安卓手机上用termux安装完整kali linux的办法

在安卓手机上termux是完整的Linux仿真器&#xff0c;但也有时候需要在手机上装其他集成度更高的Linux发行版的刚需。 在安卓手机上用termux安装完整kali linux的办法&#xff0c;如下&#xff1a; pkg install wget openssl-tool proot tar -y && hash -r &&…

Rust编程(四)PackageCrateModule

这一部分的中文教程/文档都很混乱,翻译也五花八门,所以我建议直接看英文官方文档,对于一些名词不要进行翻译,翻译只会让事情更混乱,本篇从实战和实际需求出发,讲解几个名称的关系。 Module & Crate & Package & Workspace 英文中的意思: Cargo:货物 Crate:…

【详细讲解PostCSS如何安装和使用】

&#x1f308;个人主页:程序员不想敲代码啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d; 希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提…