首页 > 其他分享 >12.10 CW 模拟赛 T2. 乘法

12.10 CW 模拟赛 T2. 乘法

时间:2024-12-11 16:09:48浏览次数:5  
标签:折半 right T2 搜索 位数 答案 12.10 CW left

算法

剪枝怎么都过不去 \(50 \%\) , 红温了

不管了

容易想到的是, 枚举最终 \(B\) 进制数的位数, 然后进行一个搜索来确定答案

这样不够优秀, 考虑折半搜索, 我们将 \(B\) 进制数分为两个部分, 然后分别判断两个部分对 \(n\) 取余的值 , 若可以, 考虑归并

具体怎么操作呢?

对于左右具体选择的情况, 我们可以考虑状态压缩
选择情况不重时, 我们再想办法合并答案
一种合并的方法是, 对于两个部分的答案先排序, 然后找两个最大和次大的即可

实现

框架

先读入

枚举位数 \(\Theta (B)\) , 对于每一种位数, 我们都可以 \(\Omega\left(\frac{B}{2}!\right)\) 处理出两个部分的所有答案, 然后我们就可以对于 \(\Theta (2 ^ B)\) 种情况进行一个处理

时间复杂度 \(\mathcal{O} \left[B \left(\frac{B}{2}! + 2 ^ B\right)\right]\)

代码

后补

总结

暴力算法不能通过但是有很接近的时候, 折半搜索是个好东西

折半搜索的常用方法:

  1. 先搜索
  2. 合并
    一般来说是存在数组里, 排序之后直接合并
    可以使用 : 二分 / 哈希表

标签:折半,right,T2,搜索,位数,答案,12.10,CW,left
From: https://www.cnblogs.com/YzaCsp/p/18599856

相关文章

  • 2024.12.10 周二
    2024.12.10周二Q1.1100给你一个序列,你可以对这个序列中的每个数(0<=ai<100)进行拆分,使得最后整个序列单调不递减,询问是否有解。Q2.1200给定一数组,可任意改变顺序,问是否可使a1%a2%a3%...%an!=0。Q3.1300给定数组a,数字x,y。问<i,j>的对数使(ai+aj)%x==0,(ai-aj)%y==0。......
  • 12.10随笔
    这里是12.10随笔。题目留档:实现线性探测法的查找函数。函数接口定义:PositionFind(HashTableH,ElementTypeKey);其中HashTable是开放地址散列表,定义如下:defineMAXTABLESIZE100000/*允许开辟的最大散列表长度*/typedefintElementType;/*关键词类型用整型......
  • 【Python】【练习】24.12.10
    一、题目描述二、题目解答importrandomdefredEnv(k,rest):m=random.random()*restreturnmtotal=float(input("请输入红包金额:"))num=int(input("请输入红包个数:"))remain=totalforiinrange(num-1):money=redEnv(i,remain......
  • Diary - 2024.12.10
    AtcoderARC189EStraightPath。怎么都觉得很简单,我是不是废了???只是记录一下可能比较合理的思考过程。首先发现的是\(n=2,3\)必定无解。然后手玩一下\(n=4\),能找到一个\(\max=3\)的构造。于是大胆猜测下界就是\(3\)。对应构造:横的为\(1\),竖的为\(2\),对角线......
  • Google Kickstart2022 Round H Problem B 魔法百合井
    很好的一道dp题传送门思考通过几次尝试,你会发现贪心貌似不可用贪心的思路,只统计目前已有的百合花,然后相加,你会发现,会留下一定数量的百合花,小于统计值,只能一个一个加,反而导致总硬币更多尝试dp怎么得到答案设f[x]是得到x朵花的最小硬币数我们先不考虑f[x]怎么得到考虑怎......
  • 12.10 CW 模拟赛 赛时记录
    前言最近发现只要每分钟都在做有意义的事就不算颓,同理的,这场考试只要每分钟都在想些事情,也就不算短期的主要目标就是利用好时间,其他的问题我基本上已经解决了,就是时间分配利用上的问题所以就只抓时间分配,这段时间先不去想别的,就好好把时间利用起来,不死磕,不畏......
  • ifcwall案例
    ifc中一个ifcwall案例 #6=IFCCARTESIANPOINT((0.,0.,0.));#10=IFCCARTESIANPOINT((0.,0.));#20=IFCDIRECTION((0.,0.,1.));#26=IFCDIRECTION((-1.,0.));#32=IFCAXIS2PLACEMENT3D(#6,$,$);#33=IFCLOCALPLACEMENT(#3665,#32);#96=IFCAXIS2PLACEMENT3D(#6,$,$);#......
  • 2024.12.10讲座
    总体概览主题:嵌入式领域#非阻塞式编程属性:经验分享、进阶教程##之前单片机赛道的同学,学的大部分知识都是对于外设怎么操作、通信协议如何使用。这一讲的内容将让我们的主程序逻辑更加清晰、代码运行更加流畅功能:让程序更高效、清晰、严谨内容阻塞?阻塞,执行某段程序时,CPU......
  • AcWing 92. 递归实现指数型枚举
    文章目录前言代码思路前言简单题只有那么一些,后面的稍微难一点点的题,自己写一道可能就要一个小时。现在不写之后需要的时候可能就来不及了。好吧。种一棵树最好的时间是十年前,对,假设我十年之前是信息竞赛选手,把这些题刷得非常熟练,现在可能就不需要写这些算法题了,但是......
  • pset2 substitution.c
    1.extension:ToDoTasks推荐一个vscode里面一个很好用的插件!!!写出解决的步骤,不但理清楚思路。还可以提高效率!特别是针对一些文本比较长的pset,要求多且零碎,反复切换页面(浏览器到vscode)就有点太累了,而且截图固定的话,整个页面也看着不舒服,太乱了,所以这个插件可以节省时间。在写......