鄙白第一篇博客,完完全全仅供纯白白借鉴, 如侵必删。 素数筛字面意思就是筛选某范围内(l,r)的素数嘛。 那怎么筛呢。其思想就是 把范围内的合数都筛去,不就只剩下素数了。而任何合数都可以表示为素数的乘积。因此,如果一个数是素数,那么这个素数的倍数一定是合数。上代码! bool isprime[MAX ...
分类:
其他好文 时间:
2020-01-29 00:45:58
阅读次数:
92
题目描述: 题解:二维动态规划,状态为天数以及依次完成的任务数。注意题目给出的限制,任务需要依次执行,这为构造状态转移方程提供了先决条件。 定义dp[i][j]表示i天完成前j个任务的最小难度。状态转移的时候,遍历第i个可能完成的所有工作并取最小值就可以了,记dis[i][j]为第i个job至第j个 ...
分类:
其他好文 时间:
2020-01-28 18:58:09
阅读次数:
82
树状数组 1.小朋友排队 n 个小朋友站成一排。 现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。 开始的时候,所有小朋友的不高兴程度都是 0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加 1,如果第二次要求他交换,则他的不高兴 ...
分类:
编程语言 时间:
2020-01-28 17:36:18
阅读次数:
58
形似dijsktra算法, 但是不同于dijsktra算法,prim算法是找到当前集合最近的点, 而dij算法是找距离当前起点最近的点 给定一个n个点m条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出impossible。 给定一张边带权 ...
分类:
编程语言 时间:
2020-01-28 14:10:48
阅读次数:
80
最大流模板题 注意反向边的意义。 #include<bits/stdc++.h> using namespace std; const int INF = 1e9; const int MAXN = 301; int ma[MAXN][MAXN],pre[MAXN]; int n,m; int bf ...
分类:
其他好文 时间:
2020-01-28 12:16:36
阅读次数:
63
$2019 2020\ ACM ICPC\ Brazil\ Subregional\ Programming\ Contest$ $A.Artwork$ 并查集,把检测区域能在一起的检测器放在一个并查集里,然后判断是否有一个集合能够封住左边和上边的其中一个还有右边和下边的其中一个即可 $B.Buff ...
分类:
其他好文 时间:
2020-01-27 20:37:33
阅读次数:
117
疫情严重,在家玩题,结果第一个就是关于SARS的(大雾...) "POJ 1611" 简单的并查集 ...
分类:
其他好文 时间:
2020-01-27 19:11:52
阅读次数:
44
#include<iostream> #include<cstring> using namespace std; const int N=110,INF=0x3f3f3f3f; int f[N][N]; int main() { int n,m; cin>>n>>m; memset(f,0x3f, ...
分类:
其他好文 时间:
2020-01-27 14:05:03
阅读次数:
72
分治,考虑分治到[l,r]的区间(设$mid=(l+r)/2$),将询问分为两类:1.在左/右区间,直接递归下去;2.跨越中间,那么处理出两个数组:L[i][j]表示左区间在开头第i个位置,以数字j为结尾的上升子序列个数(不跨越mid),右区间同理(L和R的计算很简单,只需要再处理出一个L[i][j ...
分类:
其他好文 时间:
2020-01-27 14:03:38
阅读次数:
107
n个顶点m条边,请求割点 输入格式: 第一行给定三个整数 n,m 。n 个城镇,m 条道路(双向道路)。接下来给出 m 行,每行两个正整数表示这两个城镇之间有边相连。 输出格式: 一个整数,有几个关键城市。 样例 1 : 输入:9 11 1 2 2 3 1 3 3 5 4 3 5 6 4 6 6 8 ...
分类:
其他好文 时间:
2020-01-26 13:08:01
阅读次数:
72