题目链接~~> 做题感悟:这题開始看到时感觉不是树不优点理,一想能够用 Kruskal 处理成树 ,然后就好攻克了。 解题思路: 先用 Kruskal 处理出最小生成树。然后用树链剖分 + 线段树处理就能够了。 代码: #include<iostream> #include<sstream> #in ...
分类:
其他好文 时间:
2017-07-27 18:13:11
阅读次数:
109
题意:输入一个n*m矩阵,每一个格子都有一个正整数,再输入T个整数ti,对于每一个ti,输出大于ti的正整数组成多少个四连快 思路:正着做的话事实上相当于删除连通块,而假设反着做的话就相当于变成添加连通块,把格子都编号然后排序。用并查集 #include<bits/stdc++.h> using n ...
分类:
其他好文 时间:
2017-07-27 14:26:33
阅读次数:
243
题意:给你一个数N,求N以内和N的最大公约数的和 解题思路: 一开始直接想暴力做,4000000的数据量肯定超时。之后学习了一些新的操作。 题目中所要我们求的是N内gcd之和,设s[n]=s[n-1]+gcd(1,n)+gcd(2,n)+gcd(3,n)+gcd(4,n)....... 再设f[n] ...
分类:
其他好文 时间:
2017-07-27 13:41:20
阅读次数:
159
题意:求A + A^2 + A^3 + ... + A^m。 析:主要是两种方式,第一种是倍增法,把A + A^2 + A^3 + ... + A^m,拆成两部分,一部分是(E + A^(m/2))(A + A^2 + A^3 + ... + A^(m/2)),然后依次计算下去,就可以分解,logn ...
分类:
其他好文 时间:
2017-07-27 12:43:27
阅读次数:
159
题意:对于每一棵树,每一个结点都有它的水平位置,左子结点在根节点的水平位置-1,右子节点在根节点的位置+1,从左至右输出每个水平位置的节点之和 解题思路:由于上题所示的遍历方式如同二叉树的前序遍历,与天平那题不同,本题不需要构造出完整的结点左右子树,只需要构造出结点的相对位置,每次输入一个结点树,若 ...
分类:
其他好文 时间:
2017-07-27 10:43:53
阅读次数:
173
题目链接: UVA...... 题目描述: 有K组数, 每组数有K个, 所以每组数各选一个加和有k^k种情况, 要求输出其中的最小的前k种, 从小到大输出 解题思路: 首先对于两个数组取前K个, 构造二元组(s, b) 其中s = Aa + Bb , a, b 为下标。 为什么不用三元组(s,a,b ...
分类:
其他好文 时间:
2017-07-27 10:41:14
阅读次数:
126
题目代号:UVA 11988 题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3139 You’re typing a long text wit ...
分类:
其他好文 时间:
2017-07-27 10:37:45
阅读次数:
180
题意:给一个矩阵,从(1,1)走到(m,n)的最短路,"1"是障碍,不能连续穿过k个障碍。 WA了16次,花费了一个上午和半个下午。。。想😭 每个点的属性至少是3维,比如每个点带有的已经连续穿过障碍的次数,再把跑过的步长算上,就四维了,所以最好用一个结构体! AC代码: WA代码:然而并不是很明白 ...
分类:
其他好文 时间:
2017-07-26 23:31:46
阅读次数:
187
题意:有n个人,已知每个人买东西的概率,求在已知r个人买了东西的条件下每个人买东西的概率。 分析:二进制枚举个数为r的子集,按定义求即可。 ...
分类:
其他好文 时间:
2017-07-26 22:02:13
阅读次数:
135
题目链接: UVA...... 题目描述: 给出一个字符串, 其中遇到"["是光标到最前, 遇到']'时光标又回到最后, 输出最后的文本 解题思路: 用到STL, 设置变量flag维护光标的位置, 当遇到纯字母时, 组合起来当做字符串处理, 在遇到下一个非纯字母时, 根据flag的状态一起插进deq ...
分类:
其他好文 时间:
2017-07-26 21:46:41
阅读次数:
84