搜索
搜索
_hunxuewangzi
这个作者很懒,什么都没留下…
展开
-
HDU 2020多校第二场 Lead of Wisdom 题解(预处理优化爆搜)
题目链接题目大意给你k种类型的物品若干种,一个种类只能选一种物品,求题中DMG的最大值题目链接太神奇了,居然就是暴力,但是要预处理这个种类为空时下一个要去的种类,不然会使这个搜索树退化代码#include<set>#include<map>#include<queue>#include<stack>#include<cmath>#include<cstdio>#include<vector>#i原创 2020-07-23 19:50:50 · 397 阅读 · 0 评论 -
Codeforces Round #636 (Div. 3) E. Weights Distributing 题解(思维+bfs+前缀和)
题目链接题目大意给出一个点数为n,边数为m的无向图,求分配m个权值给这些边使得a到b到c的路径的最小花费题目思路此题的难点就是a->b->c可能存在重复的边,显然重复的边应该是权值最小的。那么该怎么求重复的边呢?在最优解中,路线肯定是a->x->b->x->c,x可以是任意点,而且都是走最短路径,因为最后的结果和经过的边数有关预处理每个点到a,b,c的距离即可代码#include<cstdio>#include<queue>#i原创 2020-06-03 18:54:52 · 153 阅读 · 0 评论 -
Codeforces Round #637 (Div. 2) - Thanks, Ivan Belonogov! D. Nastya and Scoreboard题解(记忆化搜索)
题目链接题目大意一个n个数码位的分数板,每一个数码位都是一个七段数码管,现在给出每个数码位的显示情况,问再点亮k段数码管的话能显示的最大的数是多少,如果不能构成一串数字,就输出-1。答案允许有前导0,但是有前导0的时候答案长度必须要跟n一致题目思路emm。。我完全没什么思路,但其实想想感觉是贪心一下就可以了,看到了rk1的神仙代码真是妙不可言,直接记忆化搜索,也可以dp,但感觉记忆化搜索更好代码#include<bits/stdc++.h>using namespace std;原创 2020-06-02 20:24:27 · 186 阅读 · 0 评论 -
Codeforces Round #646 (Div. 2)E. Tree Shuffling 题解(dfs)
题目链接题目大意给你一颗树,每一个节点有一个a[i],b[i],c[i]值,你要把b[i]变成c[i],b[i]和c[i]为[0,1],你操作的方法是,选择一个节点x,选择他的k个子树,然后进行交换他们的b[i]值,使满足要求,每次操作的cost为a[x]*k,求满足题目要求所需要的最小cost,如果不能满足要求,则输出-1.题目思路基本思路想到了,但是不会实现,码力太差,直接放标准解析。Key Idea: Let the parent of node i be p. If a[i]≥a[p],原创 2020-06-01 11:18:26 · 343 阅读 · 0 评论 -
Codeforces Round #641 (Div. 2) E. Orac and Game of Life 题解(bfs)
题目链接题目大意就是一个n行m列的01矩阵,如果周围有一个和他一样的元素,那么a[i][j]就变成了!a[i][j],求经过z次变化后,a[i][j]题目思路其实你会发现如果一个元素一开始可以变化,那么他的相邻的相同元素也会变化,那么他就一直可以变化,而他如果一开始不能变化,过一段时间也可以随着别人的变化而变化,其时间就是和最近的那个一开始变化的曼哈顿距离(两个点在标准坐标系上的绝对轴距总和)还要注意一种情况就是他永远不会变化代码#include<cstdio>#include&原创 2020-05-13 16:21:16 · 311 阅读 · 0 评论 -
Codeforces Round #639 (Div. 2) D - Monopole Magnets (bfs)
题目链接题目思路读了好久才读懂qwq我英语怎么这么菜如果北磁极和南磁极在同一列或者同一行,那么北磁极将会向南磁极的方向移动一个单元格。现在给定一张图,保证白格一定不会有北磁极经过,黑格一定会有北磁极经过。又要求每行每列都必须至少有一个南磁极。求最少安排多少个北磁极可以达成要求。题目大意首先判断不可能完成要求的情况。1:两个黑格之间存在若干个白格。2:存在全白行但不存在全白列3:存在...原创 2020-05-07 12:37:15 · 157 阅读 · 0 评论 -
牛客小白月赛22 C 交换游戏(记忆化搜索+位运算+状态压缩)
题目链接题目大意看了好久都没看懂题目意思是啥。。。有12个孔,有些孔上面有障碍。若如果相邻的三个孔有两个孔被遮挡,并且被遮挡的两个孔相邻,则可以将中间的障碍拿掉,并将一端的遮挡物移到另一端没有被遮挡的孔上面。简单来说:将这三个孔的状态反转。例如记x为障碍遮住的孔,o为未遮住的孔 oxx -> xoo,xxo -> oox题目思路如果看懂了题目的话,这个题看一眼数据范围显然...原创 2020-04-08 15:45:31 · 408 阅读 · 0 评论 -
周赛 厂里吃鸡王 题解(多起点bfs)
题目链接题目大意有n个城市,m条路也就是双向边(边可能重复和自环),每个城市都会生产1种装备(不同城市之间的装备可能相同)共有k种不同的装备每种装备都需要小姐姐送过来。求每一个城市获得k种装备的最短路题目思路装备最多100种,可以计算每种装备到每个城镇的最短路。直接将所有生产i型商品的城市一次性全加入队列。然后bfs最多100次bfs即可。满足题目要求易错警示1:双向边一定要记得开...原创 2020-03-25 16:34:52 · 225 阅读 · 0 评论 -
洛谷 P1141 01迷宫题解
洛谷P1141 01迷宫题解题目链接 https://www.luogu.com.cn/problem/P1141此题的最大难点是什么 显然是数据过大TLE首先此题bfs与dfs都可,下面介绍bfs。仔细观察题目会发现其实可以把这张图想象成若干个分开的连通图,每一个连通图显然所能移动到的格子都是相同的,这样就没有必要询问一次bfs一次。直接预处理一次访问整个图即可,那么下面的难点便是...原创 2020-02-14 16:29:35 · 303 阅读 · 0 评论 -
洛谷 P1019 单词接龙 题解
最短代码思路各位大佬都已经讲的很清楚了,本蒟蒻就不在赘述。大家主要还是不知道如何接龙,这里我将用一个神奇的方法缩短代码(好吧其实就是介绍一个函数正式开始substr函数(请开始你的表演这个函数有什么用呢(听名字显然是找子字符串函数原型substr(pos,count)pos - 要包含的首个字符的位置count - 子串的长度就是直接截取pos到pos+count-1的部分作为...原创 2020-02-13 21:05:02 · 197 阅读 · 0 评论 -
Prime Path 题解(bfs)
题目链接题目大意就是由一个素数四位数转变到另外一个素数四位数,而且每一次只能转换一个位数,而且中间转换的素数也必须是素数。需要注意的是没有任何数字没有前导0。找最少变化次数题目思路其实很明显,最少变化次数一看就是bfs,但是自己还是不明白要怎么bfs,因为有四个处理,后面看了题解其实就是用四个for循环来处理即可自己怎么这么蠢啊在最开始预处理判断素数即可。代码#include<...原创 2020-02-29 11:36:23 · 213 阅读 · 0 评论 -
驯龙高手pph 题解(bfs)
题目链接题目大意其实就是找最左上边那个点到最右下边那个点的最短距离,看到最短距离肯定要想bfs,但是它是两个格子在移动,还可以转弯。所以要用三维数组标记,一个标记是否横着走过,一个标记是否竖着走过。再bfs即可,注意可能走不到就输出-1(wa了一发代码#include<bits/stdc++.h>using namespace std;int n,i,j,mapp[101...原创 2020-02-23 12:32:07 · 182 阅读 · 0 评论 -
CF #611 div3 Christmas Trees(bfs)
题目链接题目大意题目的意思给定n个不同的整数点,让你找m个不同的整数点,使得这m个点到这n个点的最小距离之和最小。(题目大意有点解释不清思路看到最小距离其实就要想到bfs易错警示1:注意数据过大,判断数组要用map2:还有ans要开longlong ,记得输出要lld(wa了一发代码#include<cstdio>#include<vector>#in...原创 2020-02-20 15:36:45 · 163 阅读 · 0 评论