自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

愿岁月如歌

道法自然除心魔

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 最小回文串划分

转移方程 dp[i] = min(dp[j-1] + 1 , dp[i]) 1#include #include #include #include #include #include using namespace std;int dp[100000];char s[100000];int T;bool judge(int from , int to){ whi

2017-08-29 20:13:37 440

原创 UVA - 12563 (DP维护多个特征)

求在歌曲的数目最多的情况下,花费的时间最大为多少。单独维护最大消耗时间和最多的曲目都是普通的01背包,但是维护在曲目最多的情况下维护最大消耗时间,在更新的时候如果数目没法更新的话,在保证数目一样的情况下,更新一下最大时间消耗就可以了。 #include #include #include #include using namespace

2017-08-26 15:58:46 185

原创 UVA - 10382 (区间贪心)

注意每个圆管辖的区间不是最左或最右的端点而是和被覆盖图形的交点。直接按照每个圆的left排序每次尽量寻找靠右的就可以了。#include #include #include #include #include #include #include #include #include #include #include #include #include #def

2017-08-24 09:54:37 342

原创 UVA 11235(丑)

不建议看此篇博客!代码写得奇丑无比。前几天做过类似的合并,就那合并试了一发,不知道乱搞就搞过去了。。。在segtree结构体中上维护了l左边界r右边界lx最左边的数字是几rx最右边的数字是几mx个数最多的数字是几ln最左边的数字一共有多少个rn最右边的数字一共有多少个mn个数最多的数字一共有多少个pushup里向上维护也是和区间合并差不多。。。

2017-08-23 22:13:11 204

原创 UVA - 10075(几何+floyd)

给出每个点的经纬,和航线(有向边),求最短路题意很简单,主要是距离的转化,先把经纬度转化成弧度数,然后转化出每个点的(x,y,z) 然后在球上求距离。#include #include #include #include #include #include #include #include #include #include #include #include #

2017-08-23 13:33:42 207

原创 HDU 3974(DFS序 + 线段树lazy)

DFS序: 先序遍历保留进入和离开某个节点的时间(in和out) out-in+1就是以当前结点为根的树上的节点个数,out-in就是非根节点的个数,这样就将关系树转化成了线性。(红色代表进入时间,绿色代表out的时间)这样就得到了每个节点管辖的区间,将标号转化一下,就可以线段树了。#include #include #include #include #include

2017-08-22 19:02:17 216

原创 HDU - 1540(区间合并)

第一次做区间合并,对于这种保存区间的还是很不熟悉,向上更新的时候还是没有头绪。区间合并的题目还是需要多写。对于本题而言,就是求一个包含查询节点的连续区间的长度。pushup的时候 需要注意的是,向上更新的时候,一个区间全是没被破坏的情况。#include #define INF 0x3f3f3f3fusing namespace std;int n , m;int q;

2017-08-19 20:23:27 198

转载 传说中的ACM大牛

wywcgs:亦称Lord Wu,俗名吴垠,2009级厦门大学智能科学与技术学院研究生,本科就读于哈尔滨工业大学。因其深厚的算法功底与独到的思维方式,被尊为“吴教主”,至今声威犹存。2006年起参加ACM/ICPC竞赛,获得分别获得上海、西安、长春三枚区域赛银牌。2008年获得GCJ-BeiJing Onsite参赛资格,并在比赛中表现优异,获得Final资格,后因

2017-08-18 16:14:23 446

原创 HDU - 4027(限制更新次数)

对1开方结果不变,当一个区间的所有的数字斗为1(sum[i] == (t[i].r - t[i].l + 1))时,直接return,要不然就会超时。不开long long 会RE。两个case之间有换行。#include #include #include #include #include #define INF 0x3f3f3f3fusing name

2017-08-18 16:11:42 210

原创 Kattis - playingwithnumbers

感谢队内第二土豪gt大爷的代码的思路。取两次及以上的lcm一定能在最优的情况下取得最大值,取0次lcm一定最后得到的都是最小的指数,取1次lcm的话需要判断到底哪个更优,取一下对数判断一下大小(取对数得到 a + log(2) 3 * b),sort一下就可以了。#include #define INF 0x3f3f3f3fusing namespace std;const

2017-08-17 21:49:15 272

原创 LOJ 1422(区间DP)

转移方程 dp[i][j] = min(dp[i+1][j] + 1 , dp[i+1][k-1] + dp[k][j]);dp数组代表i到j最少需要多少件衣服。k 代表在i+1到j内符合 s[i] = s[k] 的k值;如果k值不存在那么 等于上一个区间加上一件新衣服。#include #define INF 0x3f3f3fusing namespace std;

2017-08-14 19:32:22 367

原创 石子合并问题(区间DP)

有n堆石子,要合并成一堆,规则是只能和相邻的合并,每次合并的代价是合并出的石子堆的石子数量,求最小花费。IN:4 4 4 5 9OUT:43直接贪心只能取到局部的最佳结果。方程是很明显的,dp[i][j] = min(dp[i][j] , dp[i][k] + dp[k+1][j] + sum[j] - sum[i] + s[i];dp数组代表合并从i到j的

2017-08-14 17:31:17 222

原创 硬币游戏2 (SG)

题意:有n堆石子,有k个限制,每次只能从一堆石子中选择一个限制数量的石子取出,最后拿空的一位获胜,Alice先拿,Bob后拿。直接求它们的SG值,异或一下就可以了。#include using namespace std;int n,k;int a[1000],x[1000];int sg[1000];int maxn ;void get_sg(){

2017-08-09 21:55:33 180

转载 NIM与SG值

博弈问题若你想仔细学习博弈论,我强烈推荐加利福尼亚大学的Thomas S. Ferguson教授精心撰写并免费提供的这份教材,它使我受益太多。(如果你的英文水平不足以阅读它,我只能说,恐怕你还没到需要看“博弈论”的时候。)Nim游戏是博弈论中最经典的模型(之一?),它又有着十分简单的规则和无比优美的结论,由这个游戏开始了解博弈论恐怕是最合适不过了。Nim游戏是组合游戏(Comb

2017-08-09 21:17:10 366

原创 POJ 2348

Two players, Stan and Ollie, play, starting with two natural numbers. Stan, the first player, subtracts any positive multiple of the lesser of the two numbers from the greater of the two numbers, prov

2017-08-09 19:58:02 285

原创 硬币游戏1

Alice和Bob在玩这样一个游戏。给定k个数字a[1],a[2],…,a[k]。一开始,有x枚硬币,Alice和Bob轮流取硬币。每次所取硬币的枚数一定要在a[1],a[2],…,a[k]当中。Alice先取,取走最后一枚硬币的一方获胜。当双方都采取最优策略时,谁会获胜?题目假定a[1],a[2],…,a[k]中一定有1。从后往前递推状态,从小到大确定剩余石子的数量为i的时候的状态,

2017-08-09 17:38:33 407

软件工程原书pdf 第三版 钱乐秋

软件工程 第一章 概 述 1、定义: 软件 == 程序 + 数据 + 文档 1.数据:程序加工处理的对象。包括数据的表示、组织与存储。 数据 == 初始化数据 + 测试数据 2.文档(document) :开发、使用和维护程序所需的图文资料 。 文档 == 开发文档 + 管理文档。 3.程序(program) :能完成预定功能和性能的指令集合。 4.软件和程序的区别 程序只是完整软件产品的一部分。 编写程序只是软件开发过程数据中的一个阶段,一般来说,其工作量仅仅是软件开发全部工作量的10%-20%

2018-04-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除