摘要:
题意: @代表油田 可以从8个方向连接 问一个图里有多少个油田 #include<bits/stdc++.h> using namespace std; int dx[8]={0,0,1,1,-1,-1,1,-1}; int dy[8]={1,-1,0,-1,0,1,1,-1}; char mp[1 阅读全文
摘要:
题意::给一个m行n列的矩阵每个小格里面有1和0两种状态,0代表路,1代表障碍,有一个机器人想从(1,1)-->(m,n),最少需要多少步,机器人也可以在障碍里面行走,但是最多只能连续走k个有障碍的格子。 思路:开三维数组记录坐标和经过的障碍物的个数 数组值为走的步数 DFS #include<bi 阅读全文
摘要:
题意: 给一张无向图,没说连通性,要你选出一个大小为n的匹配,或者大小为n的独立集。换句话说,要你选出n条互相没有公共点的边,要是没有就选出n个互相没有直接相邻的点。直接相邻:被一条给定边连接。 思路: #include<bits/stdc++.h> using namespace std; con 阅读全文
摘要:
题意: 有N个人 K个队伍 然后跟N个数 ai表示第i个人的队伍编号 现在要找一辆车 这个车的容量可以自己定 但是这个车最多只能装两个队伍并且必须把同一个队伍的人全部装上 然后车的花费是选定的容量S和装的此时R的乘机 即S*R 问这个乘积的最小值 思路: 因为一辆车最多只能装2个队伍 所以我们设l= 阅读全文
摘要:
题意: 有n只史莱姆,每只史莱姆有一个分数,每次一只史莱姆可以吞掉左边的或者右边的史莱姆(要是有的话),然后ta的分数会减去被吞的史莱姆的分数,问最后剩下的史莱姆分数最大为多少 思路: 三种情况: 如果全是正数 就将最小的数取负 其他全取正 如果全是负数 就将最大的数取正 其他全取负 如果有正有负 阅读全文
摘要:
大意: 有n个城市,编号为1-n,有m条双向路,现要在一个点设立警察局,通过这个点的路就是安全路,求1到n的每条最短路上平均的安全路的条数,即安全路总可能条数/总最短路条数。 思路: 假设在某个点X建立警察局 那么 就可能存在2个安全路 在X点建立警察局的总条数就是从 1——X的路径 乘以 X——n 阅读全文
摘要:
差分约束 如果有这样的条件 x1-x2<=k1 x1-x3<=k2 x2-x3<=k3 转换过来就是 点1到点3最远为k1 其他点同理 那么要求点1到点n的距离 实际就是dis【n]=min(k2,k1+k3) 如果我们把式子1和式子3相加 就能得到x1-x3=k1+k3 那么这个问题就 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; const int maxn=4e4+4; const int maxbit=15; struct edge{ int to; int val; // edge(int a,int b) // { // to= 阅读全文
摘要:
#include<bits/stdc++.h> using namespace std; const int MAXN = 100005 ; const int N = 26 ; struct Palindromic_Tree { int next[MAXN][N] ; int fail[MAXN] 阅读全文
摘要:
HDU 2222 #include <queue> #include <iostream> #include <string.h> using namespace std; #define MAX_N 1000006 #define MAX_Tot 500005 struct Aho{ struct 阅读全文