3061专题

SDUT 3061 聪明的玛雅 (状压DP)

题目地址:SDUT 3061 这题的比赛的时候的后台数据是错的。。。好坑啊。。。。就不吐槽出题人了。。 比赛的时候我的思路是错的,漏考虑了一种情况。应该把所有状态下的最短距离都要求出来,而我当时的思路是按照前面能选两个则选两个的贪心思路来状压,但是有的时候可以最多走奇数个并且没全走完,这种情况下就不对了。 正确思路是每次找两个没走过的状态,分成选一个和选两个两种情况来DP。然后最后找所有状态

POJ - 3061 Subsequence

题意:求一个有n个正整数组成的序列,给定整数S,求长度最短的连续序列,使得它们的和大于等于S 思路:第一种方法:用二分找到满足B[j]-B[i] >= S的最小的长度,复杂度O(nlogn) 第二种方法:由于j是递增的,B[j]也是递增的,所以B[i-1]<=B[j]-S的右边也是递增的,也就是说满足条件的i的位置也是递增的 #include <iostream>#include <c

【尺取法】POJ 3061:Subsequence

一、题目内容 POJ 3061 原题地址 二、题意解释 从给定序列里找出区间和大于等于S的最小区间的长度。 三、代码及注释 #include<cstdio>#include<algorithm>using namespace std;//poj3061,³ÌÐòÉè¼ÆP148int cn,n,S;int a[1000005];int sum[1000005];void

尺取法专题 POJ 3061 POJ 3320 POJ 2566

参考博客:http://blog.chinaunix.net/uid-24922718-id-4848418.html 尺取法:返回推进区间开头和结尾,求满足条件的最小区间的方法称为尺取法。 一般可以用来解决连续的区间问题。 尺取法适用的条件: 1.连续的序列; 2.序列满足单调性。 POJ 3061 题目链接:http://poj.org/problem?id=3061