自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Yedl的专栏

Stay hungry, stay foolish

  • 博客(12)
  • 收藏
  • 关注

原创 HDU 5400 Arithmetic Sequence

题目链接 题意: n个数,两个公差d1, d2 求符合要求的子序列 [l, r](1≤l≤r≤n) 数量 要求:存在点i(l 思路:枚举每个点,算出每个点向左向右符合条件的数有几个(自己本身算一个)记为 l[i] 和 r[i]  l[i] * r[i] 就是以i点为分割点符合条件的子序列个数 代码如下: #include #include #include #include #i

2015-08-19 15:32:38 582

原创 HDU2491 Priest John's Busiest Day

题目链接 题意: 有n个人要进行乒乓球比赛,每个人都一个能力值,每个人出现的次序就是他们住的位置 现在要求进行一场比赛,三个人,裁判的能力值在两个选手之间,住的位置也在两个人的之间 问这种比赛一共可以进行多少次 思路: 用树状数组做,否则TLE,先从左到右扫一遍,计算每点左边大的个数和小的个数, 再从右到左扫一遍,计算每点右边大和小的个数,然后交叉相乘取和就可以了 代码如下:

2015-08-17 23:07:34 717

原创 HDU 2491 Priest John's Busiest Day(贪心)

题目链接 题意: n场婚礼 给定每场婚礼的开始和结束时间,要求每场婚礼至少举行一半以上(不包括一半) 如果可行输出YES,否则输出NO 思路: 算出每场婚礼的至少要举行的时间t, 最早的结束时间mid 以最早结束时间mid为第一变量,开始时间s为第二变量从小到大排序 用cnt记录举办完每场婚礼的结束时间 分三种情况: ①加参前当婚礼的时间够不一半 ②果加参婚礼时婚礼已开始,结

2015-08-17 20:47:51 710

原创 CodeForces 318D Ants

题目链接 题意: 有n只蚂蚁和m次询问 n只蚂蚁初始全部位于起点(0,0)处,每4只蚂蚁在同一格就会以该格为中心向上下左右四个方向爬一格 一只向上,一只向下,一只向左,一只向右 如果每个格子内的蚂蚁数量 问你当所有的蚂蚁都停止运动后,给你任意的(x, y),输出该格子内的蚂蚁数量 思路: 模拟+暴力 因为询问x,y会有负的,所以不妨设起始坐标为(N,N),因为起始位置的蚂蚁

2015-08-17 10:56:01 942

原创 Codeforces Round #316 (Div. 2) D Tree Requests

题目链接 题意: 给定n个点的树,m个询问 1是root,下面给出2——n每个点的父节点, 每个点有一个字母 下面n个小写字母给出每个点的字母。 下面m行给出询问: 询问形如 (u, deep) 问u点的子树中,距离根的深度为deep的所有点的字母能否在任意排列后组成回文串,能输出Yes.不能输出No 根到根的deep = 1,以此类推。 思路:

2015-08-16 10:58:51 856

原创 zoj1163 The Staircases(基础dp)

题目链接 题意:给你一个n,问你有多种摆台阶的方法。 要求下面的格子数要严格的大于上面的格子数,台阶至少要两层及以上(所以最后输出结果要-1) 还有台阶是倒着看的,倒着看的,最右边的是最底层的,我……内心是极度奔溃的…… 也就是说我们只要枚举最右边的即那条最长的边 h 即可,那么剩余的就是n - h,这显然已经是算出来的 初始化dp[0] = 1,因为任意n都可以摆出一层。 代码如下:

2015-08-14 17:05:53 758

原创 Codeforces Round #316 (Div. 2) C. Replacement

题目链接 简单模拟,每连续的'..'合并成'.' 代码如下: #include #include #include #include using namespace std; typedef long long ll; const ll N = 3e5+10; ll n, m, x, cnt; char a[N], c; int main() { scanf("%I64d%I64

2015-08-14 13:35:33 623

原创 Codeforces Round #316 (Div. 2) B. Simple Game

题目链接 注意n=1的时候特判下就行。 代码如下: #include #include #include #include using namespace std; typedef long long ll; const int N = 1e5+10; ll n, m, cnt; int main() { scanf("%I64d%I64d", &n, &m); if(n ==

2015-08-14 13:17:37 492

原创 Codeforces Round #316 (Div. 2) A. Elections

题目链接 水题,注意初始化为-1,一开始初始化为0,坑了自己好几把。 代码如下: #include #include #include #include using namespace std; typedef long long ll; const int N = 1e5+10; int n, m, maxn, tmp; ll a, cnt; int sum[200]; int main(

2015-08-14 13:14:46 572

原创 ZOJ 1025 Wooden Sticks(贪心 基础题)

题目链接 题意:  机器加工n个木条,每个木条有一个长度和重量。加工第一根木条需要1分钟的准备时间,接下来如果后一根木条的长度和质量都大于等于前一根木条,则不需要准备时间,否则需要1分钟的准备时间,求加工完所有木条最少时间。  比如有5根木条,长度和重量分别是(4,9), (5,2), (2,1), (3,5), (1,4),则需要2分钟就可加工第1分钟加工(1,4), (3,5), (

2015-08-02 17:00:12 782

原创 ZOJ 1093 Monkey and Banana

题目链接 题意:给你n个规格的砖块,告诉你它的长、宽、高,每种规格的砖都有无数块,长宽小的砖块(严格小于,不能等于)可以叠在长宽大的砖块上,问你最多能叠多高。 思路:告诉你一种规格的砖其实给了你三种规格的砖,因为砖是可以翻转的,长宽高可以变化的; 以长为第一变量,宽为第二变量,从大到小排序,这样垫在第n块砖下面的只能从前n-1块选择,选择最大值,累加高度即可。 代码如下: #includ

2015-08-01 21:24:54 687

原创 VK Cup 2015 - Finals F. Clique in the Divisibility Graph

题目链接 题意:给你n个数,求一个最长子序列,要求是这个子序列中任意两个数,其中一个一定是另外一个的倍数 代码如下: #include #include #include #include const int N = 1E6+10; using namespace std; int dp[N], a; int main() { int n, maxn; while

2015-08-01 16:08:27 673

空空如也

空空如也

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

TA关注的人

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