搜索
夕林山寸
这个作者很懒,什么都没留下…
展开
-
ICPC Pacific Northwest Regional Contest 2019 L. Carry Cam Failure 分析加搜索
一个不进位的乘法。 相当于每一位乘a后移项进行不进位的加法。 比如: 1234[*]99 由于9[*]1234=9876 则:摆出计算式: 9876 9876 ———— 975436 即:a[*]b=c c的第i位等于: 其中表示,比如3[*]4=2 我们可以先打一个不进位乘法表方便处理。 然后进行搜索。 发现x[*]x,得到的N的位数为x的位数*[x的位数-...原创 2020-05-05 19:26:20 · 255 阅读 · 1 评论 -
算法竞赛——进阶指南——acwing165. 小猫爬山 搜索
一道300多行搜索数独调不出来,做一道简单的搜索缓一下。。 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define ls (o<<1) #define rs (o<<1|1) #define pb push_back const double PI= acos(-...原创 2020-04-28 22:50:20 · 192 阅读 · 0 评论 -
算法竞赛——进阶指南——acwing166. 数独 搜索
经典搜索题。 搜索加剪枝。 每次从能填数最少的空处开始填。 如果填了某个数,导致有空位不能填,则剪去 用二进制优化一下常数 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define ls (o<<1) #define rs (o<<1|1) #define ...原创 2020-04-28 13:08:11 · 218 阅读 · 0 评论 -
UCF Local Programming Contest 2016 J. Rising Tides
明显的二分答案。 BFS判一下可行性即可 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define ls (o<<1) #define rs (o<<1|1) #define pb push_back const double PI= acos(-1.0); co...原创 2020-03-30 22:51:49 · 210 阅读 · 0 评论 -
UCF Local Programming Contest 2018 F. Team Shirts/Jerseys, 搜索+剪枝
很好的一道搜索,看起来时间很大,其实仔细分析,发现时间复杂度是乘法而不是指数。 我们可以先抹除一位或2位数,枚举摸出方案共19个。(10位数,抹除一位有10种,抹除2位有9种) 然后每抹除一个,判断剩下的串是否可以被25个字符串拼成,最坏情况10*25,每个位置判一遍。 总共是10*25*20的复杂度。。 主要别重复增加时间,就很快 才3ms #include <bits/std...原创 2020-03-27 20:43:11 · 366 阅读 · 0 评论 -
Preliminaries for Benelux Algorithm Programming Contest 2019 C. Canyon Crossing bfs按条件分层优化
很容易想到二分答案,bfs 进行 check。 关键是如何用bfs进行check。 由于每个点都有可能走重复,不好bfs。 我们可以按需要造桥数量进行bfs。 每个点至多访问一次,(因为后访问的点,造桥数量一定大于等于先访问的点) 判断下是否能在规定条件内到达对岸即可 #include <bits/stdc++.h> using namespace std; typede...原创 2020-03-18 11:01:23 · 151 阅读 · 0 评论 -
UCF Local Programming Contest 2015 H. Reach for the Stars
一看就是搜索或者状压。 但状压不好搞。 我们考虑搜索。 由于涂一个点,会涂十字 直接枚举所有点是否涂(做为中心点)的复杂度是2^81 但其实一个点为中心是否涂 只用判断7*7个,即复杂度压缩到2^49(只能在边界内涂,中心点不能是边界) 仔细观察发现,边界的点只能由次一层边界为中心点涂得。 即:x==2,y==2,x==r-1,y==c-1这些行列需要涂就必须涂,否则就不涂。 这样...原创 2020-02-26 20:37:42 · 825 阅读 · 6 评论 -
搜索知识点
1.vis[i]=0这个操作实在求最短路径的时候,走过的路必须再走一遍。 如果只是找路径 就没必要加了。浪费时间。原创 2019-03-21 19:54:29 · 128 阅读 · 0 评论 -
王子救公主 (计蒜客)一道简单DFS
蓝桥杯不能粘贴 只能截图。。 这道题目很简单,主要想清楚 只要存在王子和公主都能到达的点,王子就能救出公主(此时必定有一个时刻可以让他们相遇) #include <bits/stdc++.h> using namespace std; const int M = 100000+100; char mp[110][110]; int n,m,visw[110][110],...原创 2019-03-21 23:05:40 · 1011 阅读 · 0 评论