搜索
搜索
多行不译必自闭
人生如逆旅,我亦是行人
展开
-
DLX 精确覆盖 & 二分 -- Airport HDU - 5046
Airport HDU - 5046题意:有n块小岛,现在要在其中的k块小岛上建立飞机场,给出小岛的坐标,其中小岛之间的距离d(i,j)=|xi-xj|+|yi-yj|;求建立k个飞机时,飞机的最小航距时多少;思路:二分法判断航距,用DLX重复覆盖判断当前航距下能否满足k座,最后一步步缩小答案。注意岛之间的距离非常大,用long long 存放。#include <iostream...原创 2020-02-03 23:11:24 · 151 阅读 · 0 评论 -
DLX 精确覆盖 -- 数独裸题 Sudoku POJ - 3074
Sudoku POJ - 3074转自:https://www.cnblogs.com/wust-ouyangli/p/5750581.html题意:给出一个9*9的矩阵,有一些格子已经填了数,有一些是.代表未填。求任意一组解使得每行包含1 ~ 9,每列包含1 ~ 9,每个小矩形(3 * 3)包含1 ~ 9。解析:精确覆盖DLX的经典题目,每一行代表要填数的情况,列共有81*4列,第一个...转载 2020-02-03 13:49:49 · 279 阅读 · 0 评论 -
DLX 重复覆盖 & IDA* -- Square Destroyer POJ - 1084
Square Destroyer POJ - 1084题意:给一个由(n+1)n2根火柴棒构成的边长为n正方形,每根火柴棒都有编号,已经删去了k根火柴棒,问至少再删多少根火柴棒可以破坏掉所有正方形。思路:开两个数组stick[][], square[][] (我用的是vector), stick[i]表示的是需要编号为i的木棒的正方形有哪些,square[i]表示的是编号为i的正方形需...原创 2020-02-02 15:55:49 · 197 阅读 · 0 评论 -
DLX 重复覆盖 -- HDU2295-Radar
Radar HDU - 2295题意:题意为有m个雷达,每一个雷达的覆盖范围都为以r为半径的圆,给定他们的坐标,有n个城市。给定他们的坐标,求最小的r,使得每一个城市都被雷达覆盖。限制条件为最多仅仅有k个雷达工作。二分答案r。推断所须要的雷达数是否小于给定的k,找到最小的r。用Dlx反复覆盖来推断。思路:二分答案R, 然后建立N*M的01矩阵判断重复覆盖是否可行建图:m行,n列的矩形...原创 2020-01-31 22:27:07 · 219 阅读 · 0 评论 -
dancing links x(舞蹈链算法)详解
dancing links x 详解 大佬万仓一黍的blog夜深人静写算法(九)- Dancing Links X(跳舞链) /*Dancing Links 高效搜索算法 1) 如果矩阵A没有列(即空矩阵),则当前记录的解为一个可行解;算法终止,成功返回; 2) 否则选择矩阵A中“1”的个数最少的列c;(确定性选择) 3) a.如果存在A[r][c]=1的行r,将行r放...转载 2020-01-31 09:48:45 · 4196 阅读 · 0 评论 -
双向bfs --HDU - 3085 Nightmare Ⅱ
HDU - 3085 Nightmare Ⅱ:https://vjudge.net/problem/HDU-3085题意:G和M在迷宫里寻找对方,M每秒可以走3步,G每次走一步,且只能上下左右走。迷宫里有鬼,鬼每次分裂到上下左右两格位置,直到占满所有格子,鬼可以穿墙,求G和M在不遇到鬼的情况下的最短相遇时间。思路:双向bfs,由于M每次走3步,所以M每次要处理3次,这要处理的点就是M每次要...原创 2020-01-28 17:14:40 · 124 阅读 · 0 评论 -
图的储存与遍历 -- 链式前向星存图 & 二分 & bfs F.简单图上操作
题目链接:https://ac.nowcoder.com/acm/contest/2891/F链接:https://ac.nowcoder.com/acm/contest/2891/F来源:牛客网题目描述给一个n个站点m条边的无向图,每条边有边权,cat想出去玩,给出cat出发的起点s和旅行的终点t,cat背了一个容量为v的书包装有零食补充体力,如果有一条边距离超过v那么cat不能走这条边...原创 2019-12-06 15:25:03 · 153 阅读 · 0 评论 -
HDU1043 Eight
题目链接:https://vjudge.net/problem/HDU-1043简单介绍一下八数码问题:在一个3×3的九宫格上,填有1~8八个数字,空余一个位置,例如下图:在上图中,由于右下角位置是空的,你可以移动数字,比如可以将数字6下移一位:1~8按顺序排列的情况称为“初始状态”(如最上方图)。“八数码问题”即是求解对于任意的布局,将其移动至“初始状态”的方法。给定一个现有的九宫...原创 2020-01-20 16:29:01 · 299 阅读 · 0 评论 -
递推—P1025 数的划分
P1025 数的划分题目描述将整数nn分成kk份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7n=7,k=3k=3,下面三种分法被认为是相同的。1,1,51,1,5;1,5,11,5,1;5,1,15,1,1.问有多少种不同的分法。输入格式n,kn,k (6<n \le 2006<n≤200,2 \le k \le 62≤k≤6)输出格式11个整...原创 2019-12-22 15:29:30 · 329 阅读 · 0 评论 -
K. Poor Ramzi 记忆化搜索
https://codeforces.com/gym/101915/problem/K记忆化搜索的区间案例。#include <bits/stdc++.h>using namespace std;const int inf = 0x3f3f3f3f;const long long int INF = 1e18;typedef long long LL;const int ...原创 2020-01-27 23:33:52 · 283 阅读 · 0 评论 -
dp&卡特兰数&记忆化搜索-P1044 栈
P1044 栈递归思路本题的描述十分简单。n个数依次进栈,可随机出栈。求有几种可能。dfs可以解,但是递推仿佛好像如同看上去貌似更简单一些。解释一下原理:建立数组f。f[i]表示i个数的全部可能性。f[0] = 1, f[1] = 1; //当然只有一个设 x 为当前出栈序列的最后一个,则x有n种取值由于x是最后一个出栈的,所以可以将已经出栈的数分成两部分1、比x小2、比x大...原创 2019-10-17 22:44:25 · 185 阅读 · 0 评论 -
二进制dfs
https://codeforces.com/gym/102279/problem/H思路题目大意为给你一根柱子,切成n段,2<=n<=8;每段的左右两个截面分别有数字u,v,1<=u、v<=6;当两个截面上的数字相同时则这两个截面可以拼接起来。输入n,再输入n组u、v,第i组表示第i段柱子上左右截面上的数,柱段可以反转拼接。问如何拼接。dfs暴力,用2进制表示每个位...原创 2019-08-28 00:04:02 · 180 阅读 · 0 评论 -
数位dp & 记忆化深度优先搜索
2019暑期集训第二次校赛-A.CCSU题目描述给一个26进制数n,a,b,c,…,z 分别代表十进制的0, 1, 2,…,25,且这个26进制数同样不含前缀0,比如aab非法,定义好的26进制数:数字中包含ccsu,比如bccsua是好的,但是ccasu是不好的,现在给你一个26进制数n,让你求 a 到 n 一共有多少个好的26进制数(答案对1e9+7取模)输入描述:输入一个26进制数n...原创 2019-08-20 21:16:29 · 168 阅读 · 0 评论