
ACM练习
文章平均质量分 71
林小贱_myself
你看我萌不
展开
-
暴力求解法 之 1~N的全排列(HDU 1027)
递归思想:按照字典序,即以1为开头的排列,继续以2为开头的排列,直至以N为开头的排列。每次递归的时候,都要判断和标记当前取值区域内的数字是否被使用过。 其实递归调用就不断暴力尝试,直至把所有的可能结果都暴力组合出来有两种办法: 第一种是自定义函数使用递归调用的方式完成全排列; 第二种是调用S原创 2016-11-02 21:40:28 · 759 阅读 · 0 评论 -
NEUQ第二周练习题:好学的Coco(模拟)
最近正赶上期末,比较忙,上篇博文的子集生成的二进制算法这个坑估计要晚点填上QAQ (坑神)。上个星期,参加了东北大学秦皇岛分校的图灵杯,各种被吊打,感觉还是应该在算法上努力。 刷了一下他们实验班的题,慢慢找感觉,一般都是水题,但是14道题中有一道还是比较好玩的,对于一些想法感觉比较精妙,特此记录下来。 感谢这位博主的博文,传送门 好学的Coco(传送门)原创 2016-11-28 20:52:51 · 502 阅读 · 0 评论 -
子集生成算法 之 位向量法和增量构造法
什么是子集生成?算法竞赛经典入门中的解释:给定一个集合,枚举所有的可能的子集。位向量法1.什么是位向量法?通过构造一个标记向量pd[i],而不直接构造存放题目数据的子集A。当pd[i]==true的时候,标记了了我们把数据集合中的第i个位置的数据放入一个子集中,这一切都是通过标记数组pd[]来实现的。#include#includeusing namespace std原创 2016-11-14 01:19:28 · 3862 阅读 · 4 评论 -
回溯法 之 素数环
定义根据我大百度的定义: (探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。个人的理解回溯法的主要特点就是试探。试探 试探 试探(重要的话说三遍 = =,我好机智啊)我们原来通过递归,其实就是不断的尝试原创 2016-12-11 02:21:31 · 5709 阅读 · 0 评论 -
POJ 1065 贪心算法(Dilworth定理)
[POJ 1065 传送门](http://vj.acmclub.cn/problem/viewProblem.action?id=5354)一.Dilworth定理 本定理输入离散数学的知识,讲解此定理之前,首先科普一些相关知识: 链(chain)是一个偏序集S的全序子集(所谓全序是指任意两个元素可比较) 反链(antichain)是一个偏序集S的子原创 2017-03-28 00:55:14 · 1030 阅读 · 0 评论 -
poj 1064 二分查找变形—判定并找到可行解
题目来源: poj 1064 Cable master 题目概述:有N条绳子,他们的长度分别为Li,如果从它们中切割出k条长度相同的绳子的话,这K条绳子每条能有多长? 思路:使用二分法,判断最大值的范围,有三种情况: 当前剪的总数 小于 题目要求的K条,这时候我翻译 2017-12-03 16:22:26 · 293 阅读 · 0 评论 -
poj 3273 二分法变形——最大化最小值问题
题目传送门: POJ 3273 Monthly Expense 题目概述: 给出M个月的花费dataSet[i], 要求划分N段,要求每组花费值尽可能的小,最后输出当前情况下,花费值最大的一组的值。 解题思路:看到最大和最小两个词,就应该想到这种模板问题,但是这里有个坑,就是二分查找的必要条件之一就是有序,仔细查看题目给的数原创 2017-12-06 11:11:08 · 701 阅读 · 0 评论