随笔分类 - 算法/思维/模板
摘要:(1)本质: 类似并查集里面的按秩合并 每次合并加一个启发式的操作,就是每次将一个元素少的集合合并到元素多的集合里面,这样我们就可以把时间复杂度降到O(nlogn * op) (2)例题: luogu:梦幻布丁 题目地址:P3201 [HNOI2009] 梦幻布丁 - 洛谷 | 计算机科学教育新生态
阅读全文
摘要:题面: n个人排队到r个水龙头去打水,他们装满水桶的时间t1,t2,...,tn为整数且各 不相等,应如何安排他们的打水顺序才能使他们花费的时间最少? 【输入】 第1行,两个整数n(1<=n<=500)和r(1<=r<=100)。 第2行,n个正整数t1,t2,...,tn,(1<=ti<=1000
阅读全文
摘要:1)快读 inline int read() { int x=0;char c=getchar(); while(c <'0' || c >'9' ) c=getchar(); while(c>='0' && c<='9' ) x=(x<<1)+(x<<3)+c-'0',c=getchar(); r
阅读全文
摘要:交换元素,使序列有序,求最少交换次数 第一种是只能交换"相邻”元素,使序列有序,求最小交换次数, 假如是是序列升序,只需要求逆序对数。 3 2 1-> 1 2 3 3次 4 2 3 1 -> 1 2 3 4 2 3 1 4 (3) 2 1 3 4 (1) 1 2 3 4 (1) 正好对应每个数,和他
阅读全文
摘要:给出1-n的两个排列P1和P2,求它们的最长公共子序列。 (相异) 转化问题成最长下降子序列 //为了更好的利用之前的信息,便于更新, //我们把原来记录的长度信息,改成如果有这个解,他匹配的最后的元素,的最前面的s1序列的位置是多少 #include<cstdio> #include<cstdli
阅读全文
摘要://水题:求正方形长方形的个数 #include<cstdio> #include<cstdlib> using namespace std; int n,m; const int N=103; int cnt1[N][N],cnt2[N][N]; int main() { scanf("%d %d
阅读全文

浙公网安备 33010602011771号