优化算法入门系列文章目录(更新中): 1.模拟退火算法 2.遗传算法一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要.....
分类:
其他好文 时间:
2014-07-10 10:54:28
阅读次数:
288
原题: HDU 3366 http://acm.hdu.edu.cn/showproblem.php?pid=3366本来用贪心去做,怎么都WA,后来看网上原来是一个DP题。首先按P/Q来做排序,即P越大,Q越小就越好,这样可以确保先选最优的路走。dp[i][j]表示已经到了第i条路(说明前i-1条...
分类:
其他好文 时间:
2014-07-08 00:17:10
阅读次数:
273
原题: HDU 3362http://acm.hdu.edu.cn/showproblem.php?pid=3362开始准备贪心搞,结果发现太难了,一直都没做出来。后来才知道要用状压DP。题意:题目给出n(n #include #include #include #include #define M...
分类:
其他好文 时间:
2014-07-07 23:35:56
阅读次数:
323
基本枚举、贪心、递归、分治、递推、模拟STL(pair、vector、set、map、queue、string、algorithm)构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/Tr...
分类:
其他好文 时间:
2014-07-01 19:09:02
阅读次数:
193
这个题是在二分的题单上的,但是根据二分法写出来的会在oj上超时,根据题目下面给出的提示可以发现能通过贪心法每次都找最能满足的情况去填充每一个包,这样就能保证使用的包的数量是最少的
二分法解法:
#include
#include
#include
#include
#define MAX 100000
using namespace std;
int n,length;
int l[...
分类:
其他好文 时间:
2014-07-01 07:38:40
阅读次数:
217
看完《C陷阱与缺陷》,忍不住要重新翻一下,记录一下与自己的惯性思维不符合的地方。记录的是知识的增量,是这几天的流量,而不是存量。这本书是在ASCI C/C89订制之前写的,有些地方有疏漏。第一章 词法陷阱1.3 C语言中解析符号时使用贪心策略,如x+++++y将被解析为x++ ++ +y,并编译出错...
分类:
其他好文 时间:
2014-06-30 23:20:10
阅读次数:
343
看完《C陷阱与缺陷》,忍不住要重新翻一下,记录一下与自己的惯性思维不符合的地方。记录的是知识的增量,是这几天的流量,而不是存量。
这本书是在ASCI C/C89订制之前写的,有些地方有疏漏。
第一章 词法陷阱
1.3 C语言中解析符号时使用贪心策略,如x+++++y将被解析为x++
++ +y,并编译出错。1.5 单引号引起的一个字符代表一个对应的整数,对于采用ASCII字符集的编译...
分类:
其他好文 时间:
2014-06-30 20:19:44
阅读次数:
202
题目连接:Codeforces 442C Artem and Array
题目大意:给出一个数组,每次删除一个数,删除一个数的得分为两边数的最小值,如果左右有一边不存在则算作0分。问最大得分是多少。
解题思路:首先将连续的a,b,c,a > b && c > b的情况将c掉,获得min(a,b)分,这样处理后数组变成一个递増再递减的序列,除了最大和第二大的取不到,其他数字均可以得分。
...
分类:
其他好文 时间:
2014-06-30 17:00:31
阅读次数:
222
题目链接:Codeforces 442B Andrey and Problem
题目大意:Andrey有一个问题,想要朋友们为自己出一道题,现在他有n个朋友,每个朋友想出题目的概率为pi,但是他可以同时向多个人寻求帮助,不过他只能要一道题,也就是如果他向两个人寻求帮助,如果两个人都成功出题,也是不可以的。
解题思路:贪心,从概率最大的人开始考虑,如果询问他使得概率变大,则要询问。
#...
分类:
其他好文 时间:
2014-06-30 16:36:58
阅读次数:
252
题目链接:点击打开链接
java:
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
static int N = 5005;
static BigInteger[] er = new BigInteger[N];
static BigInteger E = new BigInteger...
分类:
编程语言 时间:
2014-06-29 23:47:09
阅读次数:
367