摘要: 石子合并 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。 石子合并是一道十分经典的问题。注意到石子的合并可以当做区间的合并,显而易见的,我们有如下状态 阅读全文
posted @ 2017-10-03 23:11 NINGLONG 阅读(4469) 评论(0) 推荐(1) 编辑
摘要: 题意:给定一个字符串,以及m次操作,每次操作对字符串的一个子区间进行升序或降序排序,求m次操作后的串 考虑桶排,发现线段树可以模拟桶排的过程,所以对26个字母分别建立线段树即可 阅读全文
posted @ 2017-10-03 13:19 NINGLONG 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个n个数的序列,完成以下3个操作: 1.给定区间求和 2.给定区间对x取模 3.单点修改 对一个数取模,这个数至少折半。于是我们记一个最大值max,如果x>max则不做处理。 阅读全文
posted @ 2017-10-01 22:13 NINGLONG 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 将点(xi,wi)看成区间(xi-wi,xi+wi),那么两个点有连边当且仅当两个区间没有公共点。删去所有包含其它区间的区间,在剩下的区间中每次贪心取一个能取的坐标最小的区间。 阅读全文
posted @ 2017-10-01 22:06 NINGLONG 阅读(116) 评论(0) 推荐(1) 编辑
摘要: Max Substring Time limit: 1000 msMemory limit: 256 MB Max Substring Time limit: 1000 msMemory limit: 256 MB You are given a string S. Find a string T  阅读全文
posted @ 2017-09-28 19:16 NINGLONG 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 1.组合数 (zero.cpp/c/pas) 时间限制:1s 内存限制:256MB 【问题描述】 从m个不同元素中,任取n(n≤m)个元素并成一组,叫做从m个不同元素中取出n个元素的一个组合;从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数,记作C(m 阅读全文
posted @ 2017-09-28 15:24 NINGLONG 阅读(122) 评论(0) 推荐(0) 编辑
摘要: Min Races Time limit: 1000 msMemory limit: 256 MB Min Races Time limit: 1000 msMemory limit: 256 MB In a racing championship there are N racing driver 阅读全文
posted @ 2017-09-28 15:19 NINGLONG 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 额,这次的题目其实挺智障的。所以通过这次比赛,我也发现了自己是一个智障。。。。 不说太多,说多是泪。。。 A. Fair Game 题意:给你一个数组,看你能否把它均分为两个所有元素均相同的子数组。 模拟即可。。。。 #include<bits/stdc++.h> using namespace s 阅读全文
posted @ 2017-09-25 21:30 NINGLONG 阅读(140) 评论(0) 推荐(1) 编辑
摘要: 我忽地想写一些东西了。 这大概是我OI生涯的第三个年头,从今日算起,剩下的日子似乎不多了。大约是三年前,我第一次运行"hello world",第一次摁下写着a+b问题的编译器的窗口旁的按钮。那时觉得,编程也不过这样,几行代码,几个分号,一切似乎都那么的简单。可没过多久,我碰到了编程路上的第一个困难 阅读全文
posted @ 2017-09-21 22:24 NINGLONG 阅读(297) 评论(2) 推荐(2) 编辑
摘要: 看数据范围,果断状压。真是比愤怒的小鸟还智障。。。。。 阅读全文
posted @ 2017-09-21 14:34 NINGLONG 阅读(259) 评论(0) 推荐(0) 编辑