最新要闻
- 辽宁省地质勘探矿业集团总经理王福亮被查
- 第三方Apple Watch充电要快起来了!苹果将强制换用快充模块
- 曝特斯拉开始给上海工厂员工上调工资 马斯克曾称国内工人配得起上万月薪
- 技嘉发布半高式刀卡RTX 4060:残暴三风扇、ITX机箱装不下
- 就仁爱礁有关问题,国防部回应
- 《博德之门3》暂无DLC计划:怕做不好 要对玩家负责
- 3999元 宏碁新款非凡Go青春版笔记本开卖:12核i5+铝合金机身
- 还能愉快授权吗?Arm将上市:英伟达苹果英特尔等巨头联手承包
- 观众看电影《孤注一掷》中途退票 影院回应
- “理想有的我也有”小鹏X9尺寸曝光 全尺寸SUV正在开发
- 韩国举办世界童子军大会状况百出,参会者提前撤离
- 11999元 联想ThinkBook Plus Twist笔记本上架:双屏翻转设计
- 伊利官方旗舰店大促:纯牛奶65元2箱 比商超便宜38元
- 苹果iPad销量逆势增长 哪家安卓平板厂商可绝地反击?
- 新晋品牌邮氧的茶引热议!网友:中国邮政是懂奶茶取名的
- 毛利率21.8%超特斯拉 理想公布第二季度财报:日均进账1个亿
手机
![顺络电子:董事长部分股权办理股票质押业务](http://www.viltd.com/uploadfile/2022/0610/20220610103218963.jpg)
顺络电子:董事长部分股权办理股票质押业务
![深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加](http://www.viltd.com/uploadfile/2022/0610/20220610103218963.jpg)
深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
- 顺络电子:董事长部分股权办理股票质押业务
- 深圳7月二手住宅成交2259套,中介称近期咨询客户开始增加
- 最新洪水形势如何?时隔多年为何又见洪水?解答来了!
- 李明俊在调研白龟湖科创新城和环湖路建设工作时强调 勇于担当负责 善于创新突破 着力打造群众满意的放心工程
- 遮天:东荒两大家族登场,庞博成为妖王,妖族公主颜如玉绝美登场
- 京运通: 我司自扩产硅片业务以来,所有单晶炉均为自供
家电
CodeForces CF1846G 题解
CodeForces CF1846G 题解
CodeForces题目链接
洛谷题目链接
(资料图)
标准答案是状压之后,转化成Dijkstra算法跑最短路。我这里提供一个不一样的思路。
题意简述
主人公得了病,有部分类型的症状。所有类型症状共有 \(n\) 种,用长为 \(n\) 的01串表示是否有那种症状。共有 \(m\) 种药,吃第 \(i\) 种药需要花费时间 \(t_i\), 能够治好症状 \(a_i\), 留下后遗症 \(b_i\), 其中 \(a_i\)、\(b_i\)均为长度为 \(n\) 的01串,表示每种症状是否治好或者后遗。
主人公每次只能吃一种药。求康复需要的最少时间。
保证输入不会自相矛盾,药物能治好某种症状就不会后遗。
多组测试。
题目分析
1. 最后吃什么?
实际上这个过程和“化学除杂”有些类似。我们考虑最后吃的药的特征,发现最后吃的药一定没有后遗症。简单的证明就是:我们考虑症状个数 \(cnt\),最终目标是 \(cnt = 0\),如果每种药物都有后遗症,那么即使能够治好全部症状,也至少会遗留下一种后遗症,于是 \(cnt \ge 1\),矛盾。我们暂且把这种药物成为“纯药”(无后遗症)。
2. 交换吃药顺序?
我们发现交换药物服用顺序是不行的(显然后吃“纯药”和先吃“纯药”,一个康复,一个可能不康复)。
3. 一种药物吃几次?
接下来我们尝试考虑一种药物吃几次。
假设一个药物吃两次及以上,为了方便表示,我们不妨交换每种症状的相对位置,使得对于这个药物而言,是“治疗症状、保持原状、后遗症”的格式。例如原来是:
\[\begin{array}{}\text{主人公症状} & \texttt{01011}\\\text{药物的疗效} & \texttt{11010}\\\text{药物后遗症} & \texttt{00100}\\\end{array}\]交换症状相对位置之后(此处3、4列和4、5列对调)变成:
\[\begin{array}{}\text{主人公症状} & \texttt{01110} \\\text{药物的疗效} & \texttt{11100}\\\text{药物后遗症} & \texttt{00001}\\\end{array}\]我们将药物的效果压缩成一个串来表示,治疗用 \(\texttt{-}\) 表示,保持不变用 \(\texttt{0}\) 表示, 后遗症用 \(\texttt{+}\) 表示,于是:
\[\begin{array}{}\text{药物的疗效} & \texttt{11100}\\\text{药物后遗症} & \texttt{00001}\\\text{药物效果} & \texttt{---0+}\\\end{array}\]我们将不确定的位置用 \(\texttt{Q}\) 来占位表示。(下面表中的各部分串的长度仅为示意,实际上是某一特定的数值。)假如一个药物吃了两次及以上,肯定存在两次吃某一个药,于是有:
\[\begin{array}{}\text{项目} & \text{可治疗} & \text{不变} & \text{后遗症} \\\text{用药前一状态} & \texttt{QQQ} & \texttt{QQQQ} & \texttt{QQ} \\\text{药物效果} & \texttt{---} & \texttt{0000} & \texttt{++} \\\text{一次用药后状态} & \texttt{000} & \texttt{QQQQ} & \texttt{11} \\\text{中间若干用药} & \cdots & \cdots & \cdots \\\text{二次用药后状态} & \texttt{000} & \texttt{QQQQ} & \texttt{11} \\\end{array}\]我们发现在两次服药中间的步骤,所起到的效果(或者说吃它们的目的),是为了改变 \(Q\) 的值。因此我们发现,如果把第一次吃药这一步撤掉,我们的结果是:
\[\begin{array}{}\text{项目} & \text{可治疗} & \text{不变} & \text{后遗症} \\\text{用药前一状态} & \texttt{QQQ} & \texttt{QQQQ} & \texttt{QQ} \\\text{药物效果} & \texttt{---} & \texttt{0000} & \texttt{++} \\\text{中间若干用药} & \cdots & \cdots & \cdots \\\text{原二次用药后状态} & \texttt{000} & \texttt{QQQQ} & \texttt{11} \\\end{array}\]效果没有改变。
因此一种药物吃一遍就足够了。也就是说,每种药只吃一次。
4. 从最后的药物出发
所以我们找到一个“纯药”之后,根据上面的结论,这个纯药应当在最后吃,而且只在最后吃(因为每种药只吃一次)。
我们观察一下:
\[\begin{array}{}\text{项目} & \text{可治疗} & \text{不变} & \text{后遗症} \\\text{某状态} & \texttt{QQQ} & \texttt{QQQQ} & \texttt{QQ} \\\text{中间若干用药} & \cdots & \cdots & \cdots \\\text{纯药效果} & \texttt{---} & \texttt{0000} & \texttt{00} \\\text{吃纯药后状态} & \texttt{000} & \texttt{QQQQ} & \texttt{QQ} \\\end{array}\]我们发现,吃纯药后把“可治疗”症状全部归 \(\texttt{0}\),也就意味着,如果最后吃这个“纯药”,那么再考虑之前的药物时,不用考虑“可治疗”的那几个症状,因为最后都会被纯药一次性全治好。
因此,我们把纯药从所有药物中删除,所有的药物和主人公症状中,涉及到所删除纯药“可治疗”的症状全部抹去,就转化成了规模更小的问题。我们暂时称这些位置“被覆盖了”。如表格所示:
\[\begin{array}{}\text{项目} & \text{不变} & \text{后遗症} \\\text{某状态} & \texttt{QQQQ} & \texttt{QQ} \\\text{中间其他若干用药} & \cdots & \cdots \\\end{array}\]于是我们重复上述过程,在剩下的位置中,找剩下药物中的“纯药”(只考虑剩下的位置来判断)。
最终我们可以求得答案。
5. 具体实现的一些细节
具体实现中,我采用的是类似SPFA的算法(用优先队列,或者说是BFS也行),以及状态更新。我们令状态压缩的01串 \(S\) 表示每一个位置(症状)是否被覆盖。令 \(f_S\) 表示 \(S\) 状态下的最短时间。我们在更新的时候,除了更新 \(S\) 本身外,还要更新其“包含”状态的值(例如 \(\texttt{11001110}\) 中间包含 \(\texttt{10001010}\)):
\[f_{S"} \gets f_{S} , S" \subseteq S\]由于使用优先队列,所以每个状态只访问一次,对应的vis数组记录,判断重复。
其他的位运算等细节请见代码。
记得没病要特判。
代码
#include #define N (int)(12)#define M (int)(1e3 + 5)using namespace std;typedef long long LL;struct drag{LL t,e,se,idx;}d[M];LL f[1< yy.t;priority_queue q;void dfs(LL e,LL p, LL t){if(vis[e]) return;if(e < (1<>p)&1) == 1){dfs(e^(1<
>p)&1) == 0){ans = min(ans,ansdfs(e|(1<
>i)&1) == 0) && (((se>>i)&1) == 1)){return false;}}return true;}string to_str(int x){string str = "";for(int i = 0;i < n;i++)str += ((x>>i)&1) + "0";return str;}int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> T;while(T--){memset(vis,0,sizeof(vis));memset(f,0x7f,sizeof(f));cin >> n >> m;string str;cin >> str;LL e0 = 0;for(LL j = n - 1;j >= 0;j--)e0 = (e0 << 1) | (str[j] - "0");for(LL i = 1;i <= m;i++){cin >> d[i].t;d[i].idx = i;cin >> str;d[i].e = 0;for(LL j = n - 1;j >= 0;j--)d[i].e = (d[i].e << 1) | (str[j] - "0");cin >> str;d[i].se = 0;for(LL j = n - 1;j >= 0;j--){d[i].se = (d[i].se << 1) | (str[j] - "0");}}if(e0 == 0){cout << "0\n";continue;}q.push({0,0});while(!q.empty()){state top = q.top();q.pop();if(!vis[top.e]){setf(top.e,top.t);for(int i = 1;i <= m;i++){if(check(top.e,d[i].se)){LL ne = top.e | d[i].e;if(!vis[ne]){q.push({ne,top.t + d[i].t});}}}}}LL ans = ansdfs(e0,0);if(ans >= 1e9) cout << "-1\n";else cout << ans << "\n";}return 0;}
本人能力有限,欢迎大家来Hack!
关键词:
-
-
-
-
CodeForces CF1846G 题解
辽宁省地质勘探矿业集团总经理王福亮被查
第三方Apple Watch充电要快起来了!苹果将强制换用快充模块
曝特斯拉开始给上海工厂员工上调工资 马斯克曾称国内工人配得起上万月薪
技嘉发布半高式刀卡RTX 4060:残暴三风扇、ITX机箱装不下
yum update更新报错 Transaction Check Error 解决方法
仪器仪表驱动安装及注意事项以Keithley 2600为例
就仁爱礁有关问题,国防部回应
《博德之门3》暂无DLC计划:怕做不好 要对玩家负责
3999元 宏碁新款非凡Go青春版笔记本开卖:12核i5+铝合金机身
还能愉快授权吗?Arm将上市:英伟达苹果英特尔等巨头联手承包
观众看电影《孤注一掷》中途退票 影院回应
“理想有的我也有”小鹏X9尺寸曝光 全尺寸SUV正在开发
韩国举办世界童子军大会状况百出,参会者提前撤离
虚拟现实时代:虚拟世界的前景与挑战
11999元 联想ThinkBook Plus Twist笔记本上架:双屏翻转设计
伊利官方旗舰店大促:纯牛奶65元2箱 比商超便宜38元
苹果iPad销量逆势增长 哪家安卓平板厂商可绝地反击?
新晋品牌邮氧的茶引热议!网友:中国邮政是懂奶茶取名的
毛利率21.8%超特斯拉 理想公布第二季度财报:日均进账1个亿
上海7月二手房交易量1.26万套环比持平 月末小幅翘尾
CoinBase是什么?
万人说新疆|方寸之间铸匠心
传蔚来汽车销售月薪最高41万 BBA销售坐不住了:哪里有新店?
7499元 极米H6 Pro 4K投影仪发布:1920 CCB超高亮度
RTX 4060 Ti 16GB大显存很有用!最多提升113%
小米13 Ultra DXO屏幕得分130分 无频闪 较前代有提升
募资212亿 芯片巨头回A上市 次日就破发!A股股价是港股2倍?公司回应
Midjourney API 申请和接入小白教程
广西构建涉外民商事纠纷联动解决机制 营造良好营商环境
【财经分析】隐债置换预期利好城投表现 下沉行情中切忌忽视风险
又一品牌加入换电行列 广汽埃安昊铂将于2025年建成500座换电站
维修免人工费 微星推出“抗洪度险”服务:6大地区可用
深圳:借力会展打造产业发展活力场
成功搞定H7-TOO的FreeRTOS Trace图形化链表方式展示任务管理
OpenAI承认存在真实机器人 1/3用户被欺骗
收评:两市缩量收低沪指跌0.25% 券商与地产行业明显调整
上海五部门联合发布实施细则:加大对药品领域违法犯罪行为的打击力度
首发MagicOS 7.2 荣耀MagicBook X Pro锐龙版发布:到手4199元起
写代码还得靠自己!ChatGPT回答编程问题错误率超50%
华为天才少年大模型创业!原职级P20
灯厂再出王炸!奥迪发布第二代OLED数字灯光技术:Q6 e-tron首搭
腾讯《仙剑奇侠传三》动画预告发布:景天、雪见正式亮相 你觉得还原吗?
意大利新银行税生效后,意大利最大的银行之一西雅那银行盘初跌超8%
【QT性能优化】QT性能优化之QT6框架高性能模型视图代理框架千万级数据表分页查询优化
如何在风控引擎中快速增加策略
山东布谷科技直播系统源码热点分析:不同芯片实现高质量编码与渲染视频的GPU加速功能
软件文档大全
男子嘉陵江非法捕捞渔获物20余斤 被依法采取强制措施
证监会出手!剑指系统离职人员
受强台风“卡努”影响 日本九州等地将出现暴风巨浪
载有3000辆汽车的滚轮船起火 劳斯莱斯:我们有车在上面
P40/Mate 30率先用上!华为系统云翻新正式上线
大连理工回应挖姜男孩被录取:将全程帮扶 请大家放心
长白山人参母公司 鲜人参10支39.9元大促(减60元)
2023年河北省科普讲解大赛决赛举行
人民子弟兵连续30多小时接续奋战抢通救援通路 转移受困群众
说谎真会“遭报应”吗?研究表明:是真的!
抓住夏天的尾巴!保罗阿斯登冰丝长裤/短裤大促:券后仅39.9元
豪华SUV领克08预售 魅族20 PRO领克时间系列联名款手机正式亮相
深圳福田长途客运站(深圳福田长途汽车站)
国产3A大作!《黑神话:悟空》线下试玩报名结束:资格千万别出售
不叫问界叫智界?消息称华为奇瑞合作品牌曝光:首车搭载鸿蒙4.0
AMD 12年老将Robert Hallock加盟Intel:职位更高级
哈佛教授称可能发现外星人存在证据:不明物体或残留地外科技
女娲补天之后去哪了?协助孙悟空修炼金刚不坏之躯,还帮了观音
构建虚拟与现实的桥梁:数字孪生技术在建筑领域的应用
炼油厂运营商遭黑客入侵,全球范围内大规模宕机
NineData|如何快速完成MySQL数据的差异对比?
linux进阶:内核模块
MySQL 索引结构浅析
国产电动仿赛车发布:29999元起 2.6秒破百
双台风又来了!今年第7号台风“兰恩”已生成:预计会直冲日本
OpenAI推出网络爬虫机器人GPTBot:收集数据改进AI模型
西数SN580固态硬盘今晚首发:4150MB/s 2TB到手799元
想买5系的等等!宝马525Li、530Li或将停产 全新5系马上就来
本田大法还香吗?新款冠道上市:23.98万起动力遭“砍一刀”
海南开展二手房“带押过户”住房公积金贷款业务
vector | push_back()的时间复杂度
贵州省公安厅交通管理局原党委书记、局长施长征接受纪律审查和监察调查
理想L8强力对手 比亚迪腾势N8本月交付:31.98万元起 一台车能当三台车用
Win垄断85%份额 操作系统采购标准公布:涉及兼容、安全等8大指标
99%除醛!小米米家空气净化器4 Pro H首销:1999元的全能旗舰
Win11新版文件管理器性能糟糕:7代i5启动将近半分钟
尼斯湖水怪要“现身”了:官方开展水怪搜索行动 要查明真相
民营物流企业50强发布 深圳5家企业上榜
沪上近12万青少年燃动一“夏” “奔跑吧·少年”儿童青少年主题健身活动开展
放十年电力满满!南孚传应石墨烯纽扣电池大促:5粒不到8元
国家网信办就人脸识别技术应用征求意见:使用人脸必须征求同意
遥遥领先蓝牙 华为星闪技术已获得耳机订单?苹果代工厂歌尔回应
苹果亲民版Vision Pro细节出炉:内嵌iPhone充当屏幕
国内首款大尺寸仿鸵双足机器人“大圣”亮相 披红色战袍
凯普生物(300639):8月8日技术指标出现观望信号-“黑三兵”
8月份以来9家公司收到监管函 三大类问题被关注
各地晒出上半年经济“成绩单” 广东、江苏上半年经济总量首次突破6万亿元
小鹏汽车严打充电桩“霸位”!超时占位每分钟1元 比特斯拉便宜
电影《孤注一掷》上映!豆瓣开分7.3:口碑两极分化
一波音747货机滑行偏出跑道!宁波机场:今日18点前航班全部取消
卢伟冰:Redmi芯片调校能力已经大幅领先同行
券商首份半年报出炉 多家上市券商业绩回暖