
记忆化搜索
文章平均质量分 91
nike0good
这个作者很懒,什么都没留下…
展开
-
The 22nd Japanese Olympiad in Informatics (JOI 2022/2023) Final Round 题解
交题:https://cms.ioi-jp.org/documentation给一个序列 a1,⋯ ,ana_1,\cdots,a_na1,⋯,an。执行nnn个操作,第iii个操作为找出第iii个数前离其最近且与它相同的数的位置,把这两个数之间的数全部赋值aia_iai。求最后的序列。考虑第iii个操作执行完后,iii之前每个数一定是连续出现正好一段或不出现。B给nnn个点对,每个点对(x,y)(x,y)(x,y)可以覆盖S=(a,b)∣b原创 2023-02-18 11:32:22 · 1223 阅读 · 0 评论 -
HDU 5005(Compromise-双人目标为最大化不同值的博弈)
CompromiseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 155 Accepted Submission(s): 47Problem DescriptionXiaoqiang and Amoeba (原创 2014-10-07 22:15:55 · 1576 阅读 · 0 评论 -
CF 453B(Little Pony and Harmony Chest-数列最小加减1更改方案,满足任意2数互质-位运算dp+最坏情况分析+记忆化搜索)
B. Little Pony and Harmony Chesttime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputPrincess Twilight went to原创 2014-08-03 00:27:22 · 1510 阅读 · 0 评论 -
hiho 1170(机器人-记忆化搜索+状态压缩)
#1170 : 机器人时间限制:2000ms单点时限:1000ms内存限制:256MB描述小冰的N个机器人兄弟排成一列,每个机器人有一个颜色。现在小冰想让同一颜色的机器人聚在一起,即任意两个同颜色的机器人之间没有其他颜色的的机器人。假设任意相邻的两个机器人可以交换位置,请问最少需要多少次交换?输入第一行为一个整数T,为数据原创 2015-05-23 00:16:55 · 1835 阅读 · 0 评论 -
LA 4794(Sharing Chocolate-记忆化搜索)
一个R*C的矩形,每次操作能通过一条线切割成两个长宽均为整数的矩形 是否能通过切割,得到面积恰为a1,a2,...,ana_1,a_2,...,a_n记忆化搜索1..n的子集 dpr,Sdp_{r,S} 表示当前矩形面积为S集合的总和,矩形最小边为r 注意面积和恰为R*C的条件#include<bits/stdc++.h>using namespace std;#define For(i,原创 2015-12-08 11:34:32 · 924 阅读 · 0 评论 -
NWERC 2017(Connect the Dots-几何+搜索)
题意:4*4个格点,要求一笔从小到大依次经过这16个点。求使用的最小线段数。暴搜。 考虑任意一条线段一定满足1.斜率为2个不超过20的整数的比值;2.至少经过1个点。 搜索状态为(当前画到了第几个点,斜率方向) 转移为: 在这个点转一下方向, 直接画到下一个点。 画到下一个点,中间转一次方向。#include<bits/stdc++.h>using namespace std;#de原创 2017-12-13 16:28:12 · 705 阅读 · 0 评论 -
BZOJ 5123([Lydsy12月赛]线段树的匹配-记忆化搜索)
题意:给定一棵表示 [1, n] 的线段树,请求出它的最大匹配中有多少条边,并求出有多少种最大匹配的方案。显然线段树形态由长度唯一确定,因此可以用(长度,根节点是否和子树的节点匹配)作为状态进行记忆化搜索#include<bits/stdc++.h> using namespace std;#define For(i,n) for(int i=1;i<=n;i++)#define Fork(i原创 2018-01-04 22:06:00 · 392 阅读 · 0 评论