![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索
wind__whisper
qwq
展开
-
BZOJ4294 : [PA2015]Fibonacci(dfs、暴力、数位dp)
神奇题目原创 2022-05-15 01:18:58 · 115 阅读 · 0 评论 -
洛谷P1173:[NOI2016] 网格(tarjan、离散化)
tarjan原创 2022-04-15 10:59:26 · 1059 阅读 · 0 评论 -
洛谷P4727:图的同构计数(Polya引理)(dfs)
需要加强对一些常见数列增长速度的敏感度原创 2022-02-03 16:19:37 · 511 阅读 · 1 评论 -
NOIP2014&洛谷P2296:寻找道路(bfs)
解析杀鸡焉用AS47做的巨差的一道题WA3遍+写的巨麻烦+复杂度被吊打qwq说起来很玄学,但第一交之前就有一种强烈的预感觉得自己会WA一开始像个傻子一样对有环图上记搜WA了还不知道为啥…可能真是傻了吧qwq过了一会看着lojn=50,m=800干瞪了会眼后终终终于发现了bug然后就无脑上了个tarjan怎么说呢…切了倒是切了…但是看到题解真是苦笑不得bfs大法好!!!首先,判断每个点是否能走到t,可以直接在反图上dfs然后求最短路由于边权均是1也可以直接bfs就行了真是醉原创 2021-11-03 23:49:47 · 117 阅读 · 0 评论 -
洛谷P1074:靶形数独(搜索、剪枝)
解析搜索题都是玄学本题暴搜人人都会写,关键是如何剪枝我一直在最优性剪枝上纠结qwq但仔细想想,不同方案的权值差别没有那么大再加上剪枝时不可避免的要放弃一些准确度所以最优性剪枝在本题可能确实没有太大的作用考虑我们平时如何玩数独肯定是先从东西少的地方开始搜啦!然后试试…诶?怎么切了?我们理性的分析一下可能有一些各自由于自己行已经填的东西所以几乎已经确定了然而如果先搜其他行可能会在一个与本来可以确定的地方矛盾的搜索树上走的太深所以我们先确定能确定的再搞剩下的会大大加速代码#in原创 2021-10-21 22:08:24 · 168 阅读 · 0 评论 -
LOJ:蚂蚁之旅(欧拉回路)
题意描述给你无向图的NNN个点和MMM条边,保证这 条边都不同且不会存在同一点的自环边,现在问你至少要几笔才能所有边都画一遍。(一笔画的时候笔不离开纸)解析无向图中,若一个图是连通的,且奇数度个数的点不超过2个时,必定可以一笔画完否则一笔可以消灭两个奇数度点,所以笔数为奇数度点个数/2所以考虑所有连通块即可代码#include<bits/stdc++.h>using namespace std;#define ll long longconst int N=4e5+100;原创 2021-10-12 18:32:13 · 179 阅读 · 0 评论 -
模板:最大匹配
文章目录前言代码前言匈牙利算法可以解决的问题:(原谅我的偷懒)(原谅我的水文)代码#include<bits/stdc++.h>using namespace std;#define ll long longconst int N=3e5+100;const int mod=1e9+7;int n,m,e;struct node{ int to,nxt;}p[N<<1];int fi[N],cnt=-1;void addline(int x,int原创 2021-08-16 00:57:53 · 110 阅读 · 0 评论 -
模板:欧拉路
文章目录前言代码前言就是欧拉路的板子理解起来有亿点困难(连大神学长都还没有完全理解…)不过背起来还是很好背的请勿模仿代码#include<bits/stdc++.h>using namespace std;#define ll long longconst int N=3e5+100;const int mod=1e9+7;const int p=131;int n,m;vector<int>e[N];int in[N],out[N],s;int zh原创 2021-08-16 00:55:08 · 102 阅读 · 0 评论 -
不止代码:迷宫问题(bfs)
题目描述 如下图所示,给出一个N*M的迷宫图和一个入口、一个出口。 编一个程序,打印一条从迷宫入口到出口的路径。这里黑色方块的单元表示走不通(用-1表示),白色方块的单元表示可以走(用0表示)。只能往上、下、左、右四个方向走。如果无路则输出“no way.”。分析可以用bfs和dfs两种思路;bfs比较好写dfs也很好写#include<cstdio>#include<cstring>#include<cmath>#include<原创 2021-04-08 20:04:20 · 441 阅读 · 1 评论 -
4.6模拟 宽度优先搜索
总结bfs除了代码能力没有任何算法。。。有些细节是值得注意的T1 面积(area)bfs被我写成了dfs。。。(不过我觉得这么写挺不戳)核心思路就是用一个flag记录当前跑得这些点有没有效恶心之处在于本题默认m=n=10!!!代码#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<iostream>#define ll l原创 2021-04-06 20:02:21 · 104 阅读 · 0 评论 -
不止代码:乘法游戏 题解(区间dp)
题目描述乘法游戏是在一行牌上进行的。每一张牌包括了一个正整数。在每一个移动中,玩家拿出一张牌,得分是用它的数字乘以它左边和右边的数,所以不允许拿第1张和最后1张牌。最后一次移动后,这里只剩下两张牌。你的目标是使得分的和最小。解析区间dp定义dp[i][j]是把i j 之间所有数去掉的代价最小值那么显然:if(j==i+1) return 0;而当ij中有数时,我们可以枚举i j之间取的最后一个数的位置k显然: i<k<j那么这个过程就是把i k之间的书都取完再把k j之间的原创 2021-03-11 20:12:27 · 424 阅读 · 0 评论 -
dfs剪枝:洛谷P2809 hzwer爱折纸
传送门解析dfs暴力枚举即可这题的重点是如何剪枝不难发现,随着不断处理,纸条只会越来越短,且所有数字总加和不变我一开始想到了2个条件:1.当前长度比理想纸条小,return;2.总加和与理想纸条不等,直接输出N但是这样仍是O(n!)的级别,得到了80分后来又想到:反转之后对后一半的与反转前对前一半的折叠是等效的,所以只需要递归一半的长度即可从而通过本题代码#include <cstdio>#include <cstring>#include <c原创 2021-02-28 12:43:06 · 131 阅读 · 0 评论 -
bfs:01迷宫(洛谷P1141)
洛谷传送门解析乍一看:bfs板子题冰法师最棒了然鹅看了一眼数据范围心中已有画面《面 堂 发 黑》怎么办嘞?我们想到:因为该题来与去的可逆性我们搜一次后,这些点以后都不会再用到而且每次覆盖到的所有点答案都是一样的由于第一个结论,我们不必再费心保留原图由于第二个结论,我们可以用DP来解决但熟悉bfs模板的小朋友都知道:bfs模板中途是无法记录都曾有哪些元素曾进队的(顺道送个bfs模板):oid bfs(int x,int y){ queue<int>xq原创 2021-01-29 23:19:12 · 193 阅读 · 0 评论 -
震惊!温州一程序员编完八皇后吐血而亡,他的代码是什么样子?!!
解析经典大法师(dfs哈哈哈)这题一开始用了双层循环,卡掉了4个点qwq后来发现其实因为每行只有一个皇后,每次单层循环枚举j就可以实现的于是代码就出来了代码#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>using namespace std;int x[50]={ },y[50]={ },he[50]={ },ca[50]={ },tot=0,ans.原创 2021-01-19 23:09:50 · 164 阅读 · 2 评论