题目大意:按照题目中的要求构造出一个序列,找出最短的子序列,包含1~k。解题思路:先根据题目的方法构造出序列,然后用Towpointer的方法,用v[i]来记录当前[l, r]中有几个i;当r移动时,出现v[i] == 1时, c++(用来记录有几个1~k的数字);当c == k 时,就要移动l,当...
分类:
其他好文 时间:
2016-01-10 00:18:18
阅读次数:
183
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1922带限制最短路。每个点真正的dis是max(dis[i],dis[v]),v是其保护点。可以把题目中的保护转化为每个点的贡献。每次扫一边连出的边做最短路把rd为0的点加入队列。再扫一遍自己的贡...
分类:
其他好文 时间:
2015-12-17 19:09:01
阅读次数:
261
这是模板题了吧,先建立附加源汇,然后保留每个点的in-out,如果这个值是正的,那么就从附加源先这个点连一个边权为in-out的边,否则从这个点向附加汇连一条相反数的边,剩下题目中的边就用上界-下界连就好了。 1 #include 2 #define rep(i, a, b) for (int...
分类:
其他好文 时间:
2015-12-17 06:55:19
阅读次数:
194
原文链接:http://blog.polossk.com/201405/c-plus-plus-g-plus-plusG++?首先更正一个概念,C++是一门计算机编程语言,G++不是语言,是一款编译器中编译C++程序的命令而已。那么他们之间的区别是什么?在提交题目中的语言选项里,G++和C++都代表...
分类:
编程语言 时间:
2015-12-03 23:05:15
阅读次数:
254
经验:看题目中的提示,严格按照提示中的数据来编写程序。#include#include#definePI3.1415927intmain(){doubler,s;while((scanf("%lf",&r))!=EOF){s=4.0/3*PI*pow(r,3);printf("%.3lf\n",s)...
分类:
其他好文 时间:
2015-11-06 14:24:28
阅读次数:
141
一、设计思想:1、理解题目要求,即 编写程序完成多个数字相加并输出结果,题目中的难点就是命令行的参数为字符串,需要经过转化变为数字后进行计算,通过查询互联网得到解决问题方法,用“*.nextInt()”函数即可解决此问题。2、设计程序的结构,先申请动态空间,完成可输入多个数字的要求。 最后通过输入、...
分类:
编程语言 时间:
2015-09-26 21:17:37
阅读次数:
789
题意概述: 一张有向图,在其中设置一些关键点(即题目中的逃生出口),使得删除任意一个点之后其余点都可以到达至少一个关键点。 问至少需要设置多少中关键点,有多少种设置方法。解析: 首先,这道题要求删掉一个点,不难想到这道题与割点有关。其次,删掉一个点其他点仍然可以到达关键点就可以想到是点双联通分...
分类:
移动开发 时间:
2015-09-16 14:06:09
阅读次数:
724
Thinking about it: 题目意思有点类似于八皇后,但没有了斜方向上的限制,而多了一个摆放区域的限制。因为题目中的N最大达5000,不敢贸然采用回溯法。可以得知,题中每个Rook的摆放区域是一个矩形,而且每个在摆放时,x,y轴其实是相互独立的,如何摆放x轴的位置并不影响y轴。因此可以先....
分类:
其他好文 时间:
2015-09-04 14:21:15
阅读次数:
296
注意题目中的这句话he put the strawberries on the cake randomly one by one,第一次选择草莓其实有N个可能,以某一个草莓为开头,然后顺序的随机摆放,所以最后的概率为n/m^(n-1),最后通过大数模板搞定该题的化简。C++代码 1 #includ....
分类:
其他好文 时间:
2015-08-29 16:38:16
阅读次数:
189
题目
一个整型数组里除了两个数字之外,其他数字都出现了两次。请找出这两个只出现一次的数字。要求时间复杂度O(n),空间复杂度O(1)
思路
我们知道如果把题目中的两个数字换成一个的话,整个数组内的元素连续异或,最终的数便是那个出现一次的数,因为异或的性质:相同为0,不同为1,所以有任何数字异或自己都是0。
换成两个数字后,我们可以继续全局异或,得到的数必然不等于0,那么也就是说二进制中必然...
分类:
编程语言 时间:
2015-08-21 23:24:46
阅读次数:
162