原题链接 考察:搜索 思路: 预处理有子弹和城堡的坐标,这部分除了暴力没有更好的办法.因为还有一个时间限制,所以需要三维数组.剩下就是BFS. 剪枝: 1.相同时间的拜访点不必再访问. 2.当离终点的曼哈顿距离>能量 不必再走下去. 注意:城堡处一定要预处理再判断子弹. 1 #include <io ...
分类:
其他好文 时间:
2021-04-22 16:32:51
阅读次数:
0
题目链接 题解 ?:若图中边权全部为$1$,BFS即可在$O(n+m)$的时间中求出单源最短路。 BFS+剪枝就可以啦(☆▽☆) BFS:对于每个位置,向上下左右4个方向拓展长度$k$,直接搜索。 剪枝:在拓展过程中(当前拓展到位置$(x,y)\(),只要发现一个无法更新的位置\)(tx,ty)$( ...
分类:
其他好文 时间:
2021-04-12 11:40:06
阅读次数:
0
吐槽 最后的BFS和DFS了,做完这个开始搞模拟!!! DFS 注意检查的是新坐标!!! 1 #include<bits/stdc++.h> 2 using namespace std; 3 int sx,sy,ex,ey; 4 int maps[6][6]; 5 int dir[4][2]={ 6 ...
分类:
其他好文 时间:
2021-04-08 13:47:42
阅读次数:
0
#dfs的模板 注意bool判断是否走过这个点并注意回溯的处理。 注意条件判断和边界问题。 //边界判断即剪枝 if(chk()) return; if(over(BianJie)) return; if(bool = false)//未搜索过 bool = true; //赋值或纪录 dfs(n ...
分类:
编程语言 时间:
2021-04-07 11:21:16
阅读次数:
0
\(\text{原题链接}\) \(\text{题目大意}\) 初始有一个长度为 \(n\) 的序列 \(a\),初始全 \(0\)。 共 \(m\) 次修改,每次修改 \((l,r,v)\),让 \(a_i = \max(a_i, v), (l\leq i\leq r)\)。求出所有操作后的 \( ...
分类:
其他好文 时间:
2021-02-15 12:15:44
阅读次数:
0
题目 题意:将n个数分成k组,使得k组中的最大值最小。 题解:暴力DFS,但是要注意两个地方剪枝,首先在DFS的过程中判断当前的最大值是不是已经超过了已有答案。 第二个剪枝的地方比较triky,由于我们对k组没有顺序要求的,所以当剩下的组都是空的时候,我们只需要DFS第一个组。 class Solu ...
分类:
其他好文 时间:
2021-02-02 11:23:19
阅读次数:
0
思路:回溯搜索 + 剪枝。 注意,回溯做选择的方法,不适用于有 “有重复元素的数组”。因此,重点掌握 常规回溯算法的写法。 class Solution { public List<List<Integer>> combinationSum2(int[] candidates, int target ...
分类:
其他好文 时间:
2021-01-01 12:54:26
阅读次数:
0
文|rumor酱编|YY一提到模型加速,大家首先想到的就是蒸馏、(结构性)剪枝、量化(FP16),然而稀疏矩阵(sparsematrix)运算一直不被大家青睐。原因也很简单,一是手边没有现成的代码(懒),二是即使用了,速度也不一定有之前的稠密矩阵(densematrix)快。不过,框架的开发者们并没有停下他们的脚步,就在不久前,HuggingFace开心地宣布,他们可以支持稀疏矩阵运算啦!75%的
分类:
其他好文 时间:
2020-12-24 12:14:24
阅读次数:
0
Description 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为 cij。试设计一个算法,为每一个人都分配1 件不同的工作,并使总费用达到最小。设计一个算法,对于给定的工作费用,计算最佳工作分配方案,使总费用达到最小。 Input 输入数据的第一行有1 个正整数n (1≤n≤20 ...
分类:
其他好文 时间:
2020-12-14 12:57:57
阅读次数:
3
1、深度优先搜索dfs 在搜索树上的表现形式为先序遍历。 2、广度优先搜索bfs 在搜索树上的表现形式为层序遍历。 3、记忆化搜索 在某些位置需要被多次计算时,记录第一次计算的答案,后续可以省去重复计算的复杂度。 4、剪枝 搜索的瓶颈毫无疑问在于时间,合理的剪枝可以提高时效,有时候甚至可以牺牲一些正 ...
分类:
其他好文 时间:
2020-11-25 12:19:56
阅读次数:
4