# 题意给定n个点m条边的有向无环图,统计从每个点出发所能到达的点的数量 # 题解统计的是从x出发的后继能够到达的点的并集和其自身。用一个二进制数表示当前节点可以到的节点,第 i 位为1就是可以到达f(i)就表示 i 可达的点,计算出来一个拓扑序列,按照拓扑序列的倒序算过来即可,开始的时候所有点只能 ...
分类:
其他好文 时间:
2020-03-07 10:07:59
阅读次数:
51
1)只有在访问完成第i层节点后,才会访问第i+1层节点2)任意时刻队列中最多有两个层次的节点3)以上两点即两段性和单调性4)复杂度是O(n+m) 1 void bfs(){ 2 memset(d,0,sizeof d);//d即节点在树中的深度 3 queue<int>q; 4 q.push(1); ...
分类:
其他好文 时间:
2020-03-07 10:03:37
阅读次数:
50
``` #include #include #include #include #include const int MAXN= 500000;//最大顶点数 const int MAXM = 11000;//最大边数 const int INF=0x3f3f3f3f; using namespac... ...
分类:
其他好文 时间:
2020-03-06 22:03:25
阅读次数:
62
高精度 四位压缩 基本原理: 建立一个数组 每一位上存4位数字 运用一定的方法运算,以实现大整数的运算; 封装在了结构体内; 目前只有高精度+高精度、高精度*单精度、max(高精度,高精度); 代码: //高精度四位压缩 const int M=85,mod=10000; struct HP { i ...
分类:
其他好文 时间:
2020-03-06 01:05:22
阅读次数:
85
"传送门" 题目描述 房间里放着 $n$ 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 $(0,0)$ 点处。 输入格式 第一行一个正整数 $n$。 接下来每行 $2$ 个实数,表示第i块奶酪的坐标。 两点之间的距离公式为 $\sqrt{(x_1 x_2)^2+(y_1 y_2 ...
分类:
其他好文 时间:
2020-03-05 00:47:14
阅读次数:
61
一、fill()函数 1. 按照单元赋值,将一个区间的元素都赋同一个值 2. 在头文件里面 3. fill函数可以赋任何值, 二、memset()函数 1. 按照字节填充 2. 在头文件里面 3. 因为是按照字节填充,所以一般memset只能用来填充char数组(因为char数组只占一个字节)如果填 ...
分类:
编程语言 时间:
2020-03-01 10:56:08
阅读次数:
130
ICPC North Central NA Contest 2017 部分题解 B. Pokemon Go Go 大意:用最短路径来抓住所有的稀有精灵,DFS求最短路 #include <bits/stdc++.h> #define mem(a) memset(a,0,sizeof(a)) #def ...
分类:
其他好文 时间:
2020-02-29 20:40:24
阅读次数:
190
swap(a,b) 用于交换a,b两个变量的值; template void swap ( T& a, T& b ) { T c(a); a=b; b=c; } reverse() reverse函数反转区间的数据 sort() sort函数对区间的函数进行排序,内部是实现使用快速排序法。 max( ...
分类:
编程语言 时间:
2020-02-28 22:35:58
阅读次数:
94
大型补档计划 "题目链接" $f[i][j]$ 表示前 $i$ 天,手里有 $j$ 个股票挣得最多钱 买股票。枚举 $u include include using namespace std; const int N = 2005; int T, maxP, W, AP[N], BP[N], AS ...
C语言 memset #include <string.h> void *memset(void *s, int c, size_t n); 功能:将s的内存区域的前n个字节以参数c填入参数: s:需要操作内存s的首地址 c:填充的字符,c虽然参数为int,但必须是unsigned char , 范 ...
分类:
编程语言 时间:
2020-02-28 20:26:10
阅读次数:
65