3320专题

poj 3320 A - Jessica's Reading Problem

前几天才了解的一个小技巧取尺法,然后就找了一部分题练习一下,这里我按自己的理解总结一下取尺法(如果有错误或者蹩脚的地方欢迎找茬) 取尺法主要解决在一串数或字符中求能满足一定条件的最短的长度,首先从串头开始找到第一个满足所给条件的子串,然后让左端点逐渐向右移动,在搜索的过程中能找到所有满足条件的情况并找到最小值就可以了,注意要正确找到循环跳出的条件 Description Jessica

《挑战程序设计竞赛》3.2.1 常用技巧-尺取法 POJ3061 3320 2566 2739 2100(1)

POJ3061 http://poj.org/problem?id=3061 题意 给定长度为n的整数数列以及整数S,求出总和不小于S的连续子序列的长度的最小值,如果解 不存在,输出0. 思路 如果用二分法: 先求出sum[i],从第1个数到第i个数的区间和,每次固定一个开始查找的起点sum[i], 然后采用二分查找找到 sum[i] + S 的位置,区间长度即为(末位置-(起始位置-

【尺取法】POJ 3320:Jessica‘s Reading Problem

一、题目内容 POJ 3320 原题地址 二、题意解释 一本书有 P 页,每页都有个知识点a[i],知识点可能重复,求包含所有知识点的最少的页数。 三、代码及注释 #include<cstdio>#include<algorithm>#include<set>#include<map>using namespace std;int p;int a[1000005];voi

POJ 3320 Jessica的阅读有问题(尺取 ,map)

/* 首先,这个要用尺取...就是先把size取到,一共有那么多(用set)  之后框框一下 框到了足够的/最大的  就继续往前走.... 如果还是重复的 就稍微记录一下 有个注意的就是,给你只有1e6+5 但是数据的话可能会有更大...int;类型的  数组开不来那么大啊  那你用map存一下  map只要把那个cnt都换成m就过了... 抽特王说都改成while/都改成if比较好..

尺取法专题 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

Loj#3320-「CCO 2020」旅行商问题

正题 题目链接:https://loj.ac/p/3320 题目大意 有一张 n n n个点的无向完全图,每一条边是红色或者蓝色,对于每个点 s s s求从这个点出发的一条尽量短的经过所有点的路径。 1 ≤ n ≤ 2000 1\leq n\leq 2000 1≤n≤2000 解题思路 显然地猜测一下最短的长度肯定是 n n n,说是找一条路径,实际上我们是能够找到一个颜色交