
1.aoapc2ch8 内容题
文章平均质量分 54
秦始皇吃花椒
这个作者很懒,什么都没留下…
展开
-
【题集总览】题集1:Aoapc2 ch8 高效算法设计 内容题(完结总结)
题集内容aoapc2的第八章,知识点后附的简单例题。 主要目的是为了及时打出学到的东西。习题[ ] 洛谷P1115 最大连续子段和[ ] 洛谷P1908 逆序对[ ] 快速排序算法[ ] 二分查找:单个元素,上下界算法[ ] aoapc-ch8 循环日程表问题[ ] aoapc-ch8 棋盘覆盖问题[ ] UVa1411 巨人与鬼[ ] 背包相关问题 最优装载问题...原创 2018-05-21 00:28:50 · 250 阅读 · 1 评论 -
[贪心] POJ2376 Cleaning Shifts (区间覆盖问题)
题目 描述 FJ分配 N (1 <= N <= 25,000) 只中的一些奶牛在牛棚附近做些清洁。 他总是要让至少一只牛做清洁。他把一天分成T段(1 <= T <= 1,000,000), 第一段是1,最后一段是T每只奶牛只在一些时间段有空。奶牛如果选择某一段时间,则必须完成整段时间的工作你的任务是帮助FJ安排一些奶牛,使每段时间至少有一只奶牛...原创 2018-06-03 23:40:53 · 414 阅读 · 0 评论 -
[分治] UVa1411 Ants 巨人与鬼 (分治之终极运用)
题目给定一些黑点白点,要求一个黑点连接一个白点,并且所有线段都不相交思路LRJ强强强,网上一堆各种什么二分图匹配的算法,LRJ大佬一个分治O(n2logn)O(n2logn)O(n^{2}logn)强破。 首先,先找一个y坐标最小的点(y同时最小时,再选x最小),随后以这个点为中心进行极角排序,排序后的第一个角:如果与基准点颜色不同,直接匹配。然后处理剩余。如果与基准点颜...原创 2018-06-03 23:25:59 · 664 阅读 · 0 评论 -
[归并排序] 洛谷P1908 逆序对 (分治应用)
题目题目描述猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计。最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定义的:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i < j的有序对。知道这概念后,他们就比赛谁先算出给定的一段正整数序列中逆序对的数目。 输入输出格式 输入格式:...原创 2018-05-23 01:07:50 · 320 阅读 · 0 评论 -
[分治] 洛谷P1115 最大连续子段和(分治典例)
题目题目描述给出一段序列,选出其中连续且非空的一段使得这段和最大。 输入输出格式 输入格式:输入文件maxsum1.in的第一行是一个正整数N,表示了序列的长度。第2行包含N个绝对值不大于10000的整数A[i],描述了这段序列。输出格式:输入文件maxsum1.out仅包括1个整数,为最大的子段和是多少。子段的最小长度为1。输入输出样例 输入样例#1: 复制...原创 2018-05-23 00:54:03 · 645 阅读 · 0 评论 -
[分治] AOAPC2-ch8 快速排序
代码#include <cstdio>#include <cstdlib>#include <algorithm>using namespace std;const int maxn = 1000+50;int A[maxn], n;void qsort(int l, int r){ int i,j,temp; if (l...原创 2018-05-23 00:12:12 · 603 阅读 · 0 评论 -
[贪心] UVa10148 广告牌 (区间选点问题)
题目一段路上,给出n个慢跑者跑步的区间,给出k,要求让每个慢跑者都能看到k个广告,区间都是整数操作,也就是说一个广告只能放在一个整数上,求最小贴的广告数思路区间选点问题的方法: 代码#include <cstdio>#include <cstdlib>#include <cstring>#include <vector&...原创 2018-06-03 09:09:41 · 466 阅读 · 0 评论 -
[贪心] AOAPC2-ch8 背包相关问题
目录最优装载问题部分背包问题乘船问题最优转载问题给出n个物体,第i个物体重量为wiwiw_i。选择尽量多的物体,使得总重量不超过C。int main() { scanf("%d%d", &n, &C); for (int i = 0; i < n; i++) scanf("%d", &A[i]); sort(A, A...原创 2018-06-02 21:20:23 · 183 阅读 · 1 评论 -
[分治] 二分查找之单个元素、可重复元素上下界
单个元素目的:在一个不重复的序列里,找一个元素,找不到返回-1。// A:元素所在数组 [x,y):区间 v:元素值int bserach(int* A, int x, int y, int v) { int m; while (x < y) { m = x + (y - x) / 2; if (A[m] == v) re...原创 2018-05-26 17:59:07 · 422 阅读 · 0 评论 -
[贪心] hdu2037 今年暑假不AC (区间之选择不相交区间)
#include &quot;stdafx.h&quot;#include &amp;lt;cstdio&amp;gt;#include &amp;lt;cstdlib&amp;gt;#include &amp;lt;cstring&amp;gt;#include &amp;lt;algorithm&amp;gt;using namespa原创 2018-05-16 00:35:17 · 158 阅读 · 1 评论 -
[贪心] NYOJ71 独木舟上的旅行(背包之乘船问题)
#include "stdafx.h"#include &lt;cstdio&gt;#include &lt;cstdlib&gt;#include &lt;cmath&gt;#include &lt;algorithm&gt;using namespace std;const int maxn = 1000;int w, n,原创 2018-05-16 00:18:14 · 357 阅读 · 0 评论 -
[分治] AOAPC2-ch8 棋盘覆盖问题
代码#include &lt;cstdio&gt;#include &lt;cstdlib&gt;#include &lt;cmath&gt;const int maxn = 3000;int k, x, y, cnt = 0, ans[maxn][maxn];int getnum(int x, int y, int d){ int n = pow(2, d)/2;...原创 2018-05-15 00:28:11 · 961 阅读 · 0 评论 -
[分治] AOAPC2-ch8 循环日程表问题
代码#include &lt;cstdio&gt;#include &lt;cstdlib&gt;#include &lt;cmath&gt;const int maxn = 3000;int ans[maxn][maxn];void solve(int d){ if (d == 1){ ans[0][0] = 1; ans[0][1]...原创 2018-05-14 23:48:35 · 225 阅读 · 0 评论 -
[中途相遇法] UVa1152 4 Values whose Sum is 0 和为0的四个数 (卡常)
题目给定4个n(1&lt;=n&lt;=4000)元素组合A,B,C,D,要求分别从中选取一个元素a,b,c,d,使得a+b+c+d=0。问:有多少种解法。 例如:6 -45 22 42 -16 -41 -27 56 30 -36 53 -37 77 -36 30 -75 -46 26 -38 -10 62 -32 -54 -6 45 结果:5 选法: ...原创 2018-05-28 18:22:28 · 148 阅读 · 0 评论