摘要:
P06:分组的背包问题问题有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。算法这个问题变成了每组物品有若干种策略:是选择本组的某一件,还是... 阅读全文
摘要:
P05:二维费用的背包问题问题二维费用的背包问题是指:对于每件物品,具有两种不同的费用;选择这件物品必须同时付出这两种代价;对于每种代价都有一个可付出的最大值(背包容量)。问怎样选择物品可以得到最大的价值。设这两种代价分别为代价1和代价2,第i件物品所需的两种代价分别为a[i]和b[i]。两种代价可... 阅读全文
摘要:
P04:混合三种背包问题问题如果将P01、P02、P03混合起来。也就是说,有的物品只可以取一次(01背包),有的物品可以取无限次(完全背包),有的物品可以取的次数有一个上限(多重背包)。应该怎么求解呢?01背包与完全背包的混合考虑到在P01和P02中给出的伪代码只有一处不同,故如果只有两类物品:一... 阅读全文
摘要:
P03:多重背包问题题目有N种物品和一个容量为V的背包。第i种物品最多有n[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本算法这题目和完全背包问题很类似。基本的方程只需将完全背包问题的方程略微一改即可,因为对于第i种物... 阅读全文
摘要:
P02:完全背包问题题目有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这个问题非常类似于01背包问题,所不同的是每种物品有无限件。也就是从每种物品的角度考虑,与它... 阅读全文
摘要:
P01:01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大... 阅读全文
摘要:
背包问题九讲v1.0 目录第一讲01背包问题第二讲完全背包问题第三讲多重背包问题第四讲混合三种背包问题第五讲二维费用的背包问题第六讲分组的背包问题第七讲有依赖的背包问题第八讲泛化物品第九讲背包问题问法的变化附:USACO中的背包问题前言本篇文章是我(dd_engi)正在进行中的一个雄心勃勃的写作计划... 阅读全文
摘要:
STL中sort函数用法简介做ACM题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件#include。... 阅读全文
摘要:
杂乱小模板状态压缩dp小技巧x&-x是取x的最后一个1的位置。x-=x&-x是去掉x的最后一个1。读入外挂intnxt_int(){//negorposcharch;intflag=0,tmp=0;for(ch=getchar();ch'9';ch=getchar())if(ch==int('-')... 阅读全文
摘要:
1、 几何 41.1 注意 41.2 几何公式 41.3 多边形 61.4 多边形切割 91.5 浮点函数 101.6 面积 151.7 球面 161.8 三角形 171.9 三维几何 191.10 凸包 261.11 网格 281.12 圆 28几何1.1注意1.注意舍入方式(0.5的舍入方向);... 阅读全文
摘要:
枚举:在所确定的一定范围内,对每一个可能的目标解进行检测,找出所有的目标解。枚举也称作暴力求解,穷举法。枚举的特征:对所有的可能的目标解,进行一一检测。枚举思想很简单,没有太大的思维量。(只要不超时,不超内存空间,枚举都是一种很好的方法)提示:当想不出来别的算法时,就用枚举吧!优化枚举方法,就是指缩... 阅读全文
摘要:
OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法:(1)枚举.(poj1753,poj2965)(2)贪心(poj1328,poj2109,po... 阅读全文
摘要:
初期:一.基本算法:(1)枚举.(poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:(... 阅读全文
摘要:
位运算程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。运位算包括位逻辑运算和移位运算,位逻辑运算能够方便地设置或屏蔽内存中某个字节的一位或几位,也可以对两个数按位相加等;移位运算可以对内存中某个二进制数左移或右移几位等。计算机内部是以补码... 阅读全文
摘要:
一、普里姆(Prim)算法 1.基本思想:设G=(V, E)是具有n个顶点的连通网,T=(U, TE)是G的最小生成树, T的初始状态为U={u0}(u0∈V),TE={},重复执行下述操作:在所有u∈U,v∈V-U的边中找一条代价最小的边(u, v)并入集合TE,同时v并入U,直至U=V。即: ... 阅读全文
摘要:
prim算法边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权。最小生成树(MST):权值最小的生成树。生成树和最小生成树的应用:要连通n个城市需要n-1条边线路。可以把边上的权值解释为线路的造价。则最小生成树表示使其造价最小的生成树。构造网的最小生成树必须解... 阅读全文
摘要:
黑轴、青轴、茶轴、红轴、白轴的区别,兼机Cherry樱桃G80-3000茶轴版本使用感受转载如果说性能,目前台机系统和笔记本系统、超极本系统都已经比较接近,现在玩台机的,一般是看中自己个性化的配置,以及一些经典的外设,包括显示器、机箱、键盘和鼠标。现在随意进入一个外设论坛,键盘区几乎都在孜孜不倦的讨... 阅读全文
摘要:
数学问题: 1.精度计算——大数阶乘2.精度计算——乘法(大数乘小数)3.精度计算——乘法(大数乘大数)4.精度计算——加法5.精度计算——减法6.任意进制转换7.最大公约数、最小公倍数8.组合序列9.快速傅立叶变换(FFT)10.Ronberg算法计算积分11.行列式计算12.求排列组合数 ... 阅读全文
摘要:
1、 几何 41.1 注意 41.2 几何公式 41.3 多边形 61.4 多边形切割 91.5 浮点函数 101.6 面积 151.7 球面 161.8 三角形 171.9 三维几何 191.10 凸包 261.11 网格 281.12 圆 281.13 整数函数 302、 组合 332.1组合公... 阅读全文
摘要:
ACM知识点分类第一类:基础算法(1)基础算法:枚举,贪心,递归,分治,递推,构造,模拟(2)动态规划:背包问题,树形dp,状态压缩dp,单调性优化,插头dp(3)搜索:dfs,bfs,记忆化搜索,优化与剪枝,双广,A*,IDA*,跳舞链第二类:数据结构(1)简单数据结构:链表,栈和队列,串,树和二... 阅读全文
摘要:
http://poj.org/problem?id=2509Peter's smokesTime Limit:1000MSMemory Limit:65536KTotal Submissions:16957Accepted:6984DescriptionPeter has n cigarettes.... 阅读全文
摘要:
科学计算器C++编写计算器代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 char ch; 10 stringstream ss; 11 stri... 阅读全文
摘要:
ASCII码表 ASCII码表完整版ASCII值控制字符ASCII值控制字符ASCII值控制字符ASCII值控制字符0NUT32(space)64@96、1SOH33!65A97a2STX34”66B98b3ETX35#67C99c4EOT36$68D100d5ENQ37%69E101... 阅读全文
摘要:
逻辑推理 1、你让工人为你工作7天,给工人的回报是一根金条。金条平分成相连的7段 ,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你 的工人付费? 2、请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份。 3、小明一家过一座桥,过桥时是黑夜,所以必须有... 阅读全文
摘要:
逻辑推理问题对于较难的逻辑推理问题,看上去难于解决,不知道该从哪里下手时,认真的读题从最简单最特殊的情况入手1. 月薪30K的面试题小明和小强都是张老师的学生,张老师的生日是m月n日,2人都知道张老师的生日是下列10组中的一天,张老师把m值告诉了小明,把n值告诉了小强,张老师问他们知道他的生日是那一... 阅读全文
摘要:
poj 题目分类按照ac的代码长度分类(主要参考最短代码和自己写的代码)短代码:0.01K--0.50K;中短代码:0.51K--1.00K;中等代码量:1.01K--2.00K;长代码:2.01K以上。短:1147、1163、1922、2211、2215、2229、2232、2234、2242、2... 阅读全文
摘要:
ACM竞赛资料ACM竞赛须掌握的知识图论拓扑排序有向无环图与动态规划的关系二分图匹配问题一般图问题与二分图问题的转换思路最大匹配有向图的最小路径覆盖0 / 1矩阵的最小覆盖完备匹配最优匹配稳定婚姻网络流问题网络流模型的简单特征和与线性规划的关系最大流最小割定理最大流问题有上下界的最大流问题循环流最小... 阅读全文
摘要:
备战ACM资料一:知识点 数据结构: 1,单,双链表及循环链表 2,树的表示与存储,二叉树(概念,遍历)二叉树的 应用(二叉排序树,判定树,博弈树,解答树等) 3,文件操作(从文本文件中读入数据并输出到文本文 ... 阅读全文
摘要:
为了方便打印,不再将代码放到代码编辑器里,祝你好运。ACM-ICPC竞赛模板(1)1、 几何 41.1 注意 41.2 几何公式 41.3 多边形 61.4 多边形切割 91.5 浮点函数 101.6 面积 151.7 球面 161.8 三角形 171.9 三维几何 191.10 凸包 261.11... 阅读全文
摘要:
HDOJ 题目分类2012-05-19 9:40模拟题, 枚举1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064... 阅读全文
摘要:
第11篇ACM/ICPC竞赛之调试在写程序时,调试程序也是一个重要的环节。怎样才能够更有效地调试程序,发现并修正错误呢?1、调试中的输入输出为了调试程序,我们可能需要反复执行程序,也就需要反复输入相同或不相同的测试数据。如果每次调试运行时都是以手工的方式输入测试数据,相信很多人都会觉得不胜其烦。其实... 阅读全文
摘要:
第10篇ACM/ICPC竞赛之算法策略ACM/ICPC竞赛其实就是算法设计和编码的竞赛,熟悉各种常用算法和算法设计策略并能灵活运用是非常必要的。这里对几种在竞赛中经常用到的算法设计策略做一简单的介绍。1、穷举法穷举法是最基本的算法设计策略,其思想是列举出问题所有的可能解,逐一进行判别,找出满足条件的... 阅读全文
摘要:
第09篇ACM/ICPC竞赛之STL--algorithm无疑是STL中最大的一个头文件,它是由一大堆模板函数组成的。下面列举出中的模板函数: adjacent_find / binary_search / copy / copy_backward / count / count_if / equa... 阅读全文
摘要:
第08篇ACM/ICPC竞赛之STL--map在STL的头文件中定义了模板类map和multimap,用有序二叉树来存贮类型为pair的元素对序列。序列中的元素以constKey部分作为标识,map中所有元素的Key值都必须是唯一的,multimap则允许有重复的Key值。可以将map看作是由Key... 阅读全文
摘要:
第07篇ACM/ICPC竞赛之STL--stack/queuestack(栈)和queue(队列)也是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)的queue(队列)的实现。准确地说,STL中的stack和queue不同于vector、list等容器,而是对这些容器的重... 阅读全文
摘要:
第06篇ACM/ICPC竞赛之STL--string字符串是程序中经常要表达和处理的数据,我们通常是采用字符数组或字符指针来表示字符串。STL为我们提供了另一种使用起来更为便捷的字符串的表达方式:string。string类的定义在头文件中。string类其实可以看作是一个字符的vector,vec... 阅读全文
摘要:
第05篇ACM/ICPC竞赛之STL--iterator简介iterator(迭代器)是用于访问容器中元素的指示器,从这个意义上说,iterator(迭代器)相当于数据结构中所说的“遍历指针”,也可以把iterator(迭代器)看作是一种泛化的指针。STL中关于iterator(迭代器)的实现是相当... 阅读全文
摘要:
第04篇ACM/ICPC竞赛之STL--vector在STL的头文件中定义了vector(向量容器模板类),vector容器以连续数组的方式存储元素序列,可以将vector看作是以顺序结构实现的线性表。当我们在程序中需要使用动态数组时,vector将会是理想的选择,vector可以在使用过程中动态地... 阅读全文
摘要:
第03篇ACM/ICPC竞赛之STL--pairSTL的头文件中描述了一个看上去非常简单的模板类pair,用来表示一个二元组或元素对,并提供了按照字典序对元素对进行大小比较的比较运算符模板函数。例如,想要定义一个对象表示一个平面坐标点,则可以:pairp1;cin>>p1.first>>p1.sec... 阅读全文
摘要:
第02篇ACM/ICPC竞赛之STL简介一、关于STLSTL(StandardTemplateLibrary,标准模板库)是C++语言标准中的重要组成部分。STL以模板类和模板函数的形式为程序员提供了各种数据结构和算法的精巧实现,程序员如果能够充分地利用STL,可以在代码空间、执行时间和编码效率上获... 阅读全文