![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
搜索
dfs和bfs
flyzer
这个作者很懒,什么都没留下…
展开
-
POJ 1041 欧拉路
POJ 1041题意:多组数据,输入x,y,z,表示结点x和结点y之间有一条序号为z的边,如果这个无向图中存在欧拉路,就字典序最小的欧拉路,如果不存在欧拉路就输出“Round trip does not exist. "。当输入0 0表示一组数据输入结束,题目保证了图的连通性。Solution:首先根据欧拉路的定义判断是否存在欧拉路,如果存在的话再求字典序最小的欧拉路,一定是以边1为起始...原创 2018-11-03 19:42:18 · 192 阅读 · 0 评论 -
codeforces 912 D. Fishes
题目链接题意:有一个n×m的鱼塘,有一张r×r的渔网,现在往池塘里面放k条鱼(每个格子只能放一条鱼), 现在撒网的地方是随机的(必须在池塘内),问能捕的鱼的期望值最大是多少?思路:BFS+优先队列感觉很多题都是这么搞得,bfs加优先队列,然后队列里面存的都是结构体,需要重载运算符。这题也是,只要挑选出前k个贡献最大的点就行了,判断每个点是否计算过,需要用map和pair,不能用vi...原创 2019-05-05 18:26:47 · 281 阅读 · 0 评论 -
Codeforces 877 Round #442 (Div. 2) E. Danil and a Part-time Job
题目链接拖了这么多天,终于把这个题过了。题意:一棵有根树, 每个节点可以是1或者0, 两种操作: 1. pow v: 将v节点的子树中所有节点的值反置(1变0, 0变1, 相当于异或1) 2. get v: 输出v节点的字数中1的个数DFS序+线段树#include<iostream>#include<iomanip&...原创 2019-04-25 13:27:18 · 325 阅读 · 0 评论 -
codeforces 737 D. Financiers Game 博弈 动态规划 记忆化搜索
codeforces 737 D题意:A和B两个人玩游戏,有一个数组a,两个人轮流取数,A先,A只能从左往右取,B只能从右往左取,并且如果前一个人取了k个数,那么接下来的那个人就得取k或者k+1个数,如果剩下的数不足k个,那么游戏结束,输出 “A取出的值的和”减去 “B取出的数的和” 的差。A想让这个差尽可能的大,B想让这个差尽可能的小,两个人都采取最优解,问最后的差是多少。在一...原创 2019-05-14 13:01:46 · 181 阅读 · 0 评论 -
codeforces 918 D MADMAX 记忆化搜索
题目链接题意:给定两个人的起始位置,每人走一步,直到不能走,问最后谁赢。每个人走的必须比另一个人大。记忆化搜索水题,还是对搜索不太熟悉啊#include<bits/stdc++.h>#define mem(a,b) memset((a),b,sizeof(a))typedef long long ll;const int N=100010;using namesp...原创 2019-05-11 15:11:52 · 89 阅读 · 0 评论