思路:
这题比赛的时候想了好久,最后队友机智的想到了。
不过那时不是我敲的,现在敲的1A。
想好就容易了。
直接把1或者0当做边的权值,然后按边从小到大排序,然后算最小生成用到了几条白边,然后再按边从大到小排序,然后再算白边用了几条。然后最小和最大需要用到的白边都算出来了。如果在这最小最大区间中存在那个啥数列的话就是Yes,否则就是No。
为什么在这区间里面就是对的呢?刚开始我也想了好久...
分类:
其他好文 时间:
2014-08-06 22:58:42
阅读次数:
316
?#includeusing namespace std;int main(){ for(int i=1;i<=10;i++) { for(int j=1;j<=i;j++) { cout<<i<<" "; } ...
分类:
其他好文 时间:
2014-08-06 21:57:12
阅读次数:
173
销毁时会按照从后向前的顺序销毁,也就是说,越在后面定义的对象会越早销毁。其中的原因就是函数是在栈中保存的,因此,先定义的对象先压栈,所以在退栈时就会后销毁。而如果参数有多个的话,大多数编译器是从右开始压栈的,也就是参数列表最右边的变量最先压栈,所以参数列表最右边的变量会在最后销毁。代码如下: 1 #...
分类:
编程语言 时间:
2014-08-06 18:14:21
阅读次数:
156
您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?
我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。
如何生成斐波那契數列
斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一...
分类:
编程语言 时间:
2014-08-06 14:51:01
阅读次数:
307
KMP查找整数数列,不是查找字符串。
原理是一样的,不过把字符串转换为数列,其他基本上是一样的。
#include
#include
const int MAX_N = 1000001;
const int MAX_M = 10001;
int strN[MAX_N], strM[MAX_M], next[MAX_M], N, M;
void getNext()
{
mems...
分类:
其他好文 时间:
2014-08-05 22:37:10
阅读次数:
194
题目链接题意 : 给你一个数列,可以随意交换两相邻元素,交换次数不超过k次,让你找出i aj的(i,j)的对数最小是多少对。思路 : 一开始想的很多,各种都想了,后来终于想出来这根本就是求逆序数嘛,可以用归并排序,也可以用树状数组,不过我们用树状数组做错了,也不知道为什么。求出逆序数来再减掉k次,....
分类:
其他好文 时间:
2014-08-05 22:02:20
阅读次数:
210
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4786
题意:有N个节点(1 5),M条边(0 5),其中一部分边被染成了黑色,剩下的边是白色,问能不能建立一棵树,树中有斐波那契数个白色边。
思路:用克鲁斯卡尔建三次树,第一是用所有边建树,判断是否能建成一棵树,第二次用黑边建树,最多可以用到x条黑边(不成环),n-1-x就是最少需要用的白边的数量,第...
分类:
其他好文 时间:
2014-08-05 11:22:59
阅读次数:
209
http://acm.hdu.edu.cn/showproblem.php?pid=4893
三种操作:
1 k d - "add"
2 l r - "query sum"
3 l r - "change to nearest Fibonacci"
节点附件三个值:
s1:由lazy控制的区间的正确的和。
s2:区间内与所有数相近的fib数之和,随着单点更新而更新...
分类:
其他好文 时间:
2014-08-05 09:39:19
阅读次数:
309