自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

beihai2013

生命是一个巨大的游乐场,或者空虚无比。

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

原创 Codeforces 610D 矩形面积并

Codeforces 610D 题目链接: http://blog.csdn.net/julyana_lin/article/details/7834653 题意: 给n个矩形,宽度均为1,与x或者y中一个轴平行。 矩形可能有覆盖。 求所有矩形覆盖后的面积和。 思路: 有map乱弄的做法,以下采用矩阵面积并。矩阵面积并 = 线段树 + 扫描线 + 离散化把矩形分成下边和上边,下边进入

2015-12-30 19:58:45 409

原创 Codeforces 612E 置换群

Codeforces 612E 题目链接: http://codeforces.com/problemset/problem/612/E 题意: 存在一个1-n的排列p。 现在定义一个1-n的排列q,使得q[i] = p[p[i]]。 给出q,输出一个合法的p。不存在输出-1。 思路: 显然置换群。置换群能分成若干个不相交的环。 环,首先有个可以自己手动模拟出的结论。 1.环的元

2015-12-28 18:32:44 656

原创 HDU 5602 记忆化搜索

HDU 5603 题目链接: 题意: 有n(<=3*1e5)条线段。 M个分组,每个分组里有一些点。所有分组的点数和不超过3*1e5 点和线段的点范围均在1e6以内。 为对于一个分组,有多少条线段至少覆盖分组里的一个点。 思路: 基本照着div1里大神们的代码写的,万分感谢~Solution1: 反过来看,只要求每个分组里不覆盖点的线段就可以。 如果把数轴的左端点0和右端点1e6

2015-12-27 18:58:59 395

原创 HDU 5603 树状数组

HDU 5603 题目链接: 题意: 有n(<=3*1e5)条线段。 M个分组,每个分组里有一些点。所有分组的点数和不超过3*1e5 点和线段的点范围均在1e6以内。 为对于一个分组,有多少条线段至少覆盖分组里的一个点。 思路: 基本照着div1里大神们的代码写的,万分感谢~Solution1: 反过来看,只要求每个分组里不覆盖点的线段就可以。 如果把数轴的左端点0和右端点1e6

2015-12-27 18:56:32 552

原创 HDU 5600 || HDU 5601 思维

HDU 5600 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5600 题意: 自己的解法: 给一行的n个数的01序列,1表示第i个灯泡开着。 现在从1出发,从n离开,且可以往返走,每次离开一个灯泡,灯泡的状态发生改变。 问存不存在一种解法,使得离开时,灯泡全灭。 思路: 用几个样例模拟了一下,对于前一个数,总能通过后一个数的变化

2015-12-27 18:55:33 936 2

原创 Codeforces Round #336 div2

Codeforces Round #336 div2 通过数:3(1题未来得及交) Standing: 418 题目链接: http://codeforces.com/contest/608 A: 到一个楼层的时候,如果有人,则更新ans = Max(ans, 此人等待时间)#include <cstdio>#include <cstring>#include <cma

2015-12-25 11:43:47 322

原创 Codeforces Educational Round 3

Codeforces Educational Round 3 题目链接: http://codeforces.com/contest/608 A: 水题,到每个点的时候消耗时间更新为一个当前消耗时间和这个点等待时间的最大值#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <alg

2015-12-25 11:29:14 311

原创 Codeforces 609E LCA倍增

Codeforces 609E 题目链接: http://codeforces.com/contest/609/problem/E 题意: 给n个点(<=2e5),m条边(n-1 <= <= 2e5),问对于每条边,做一个最小生成树树的权值。 思路: 增量最小生成树,就是先构造一个最小生成树。然后对每条边找所在环上最大的边删去。 实现用LCA实现。关于LCA,刚开始用了RMQ来做,怎么

2015-12-25 11:26:38 682

原创 被中二病拯救 ——看《中二病也要谈恋爱》第一季

被中二病拯救 ——看《中二病也要谈恋爱》第一季 看到12集的时候不自觉有些触动。六花不是中二病的患者,她是被中二病拯救的。天天睡觉的茴香代六花之口说出六花的中二病病根的时候,男主富坚疯了一样的踩着单车狂奔起来。PV真心给力,大喊的一声六花触的我浑身麻麻的。场景一: 好漂亮啊,那些跳动的光(六花) 男主只是动容却沉默 场景二: 好漂亮啊(男主) 那些只是船的灯而已(六花) 场景三:

2015-12-22 20:51:12 1001

原创 Codeforces 609D 二分 or 三分

Codeforces 509D 题目链接: http://codeforces.com/contest/609/problem/D 题意: 有n天,m个物品,至少选k个物品,使得代价和为s。(<=1e4) 有两种支付方式,每个物品有一种支付方式。每天有不同的支付方式代价,即换取一个单位的支付方式,需要付出x[i]的代价。每个物品在这个基础上,对一个支付方式有一些单位的消耗。(<=1e6)

2015-12-22 19:55:50 404

原创 大白书 1.3节 高效算法设计举例

大白书 1.3节 高效算法设计举例 例题 17 UVA 11462 简单题,注意那个数值的范围是100以内就可以了。#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <algorithm>#include <iostream>using namespace std;const

2015-12-19 11:14:52 505

原创 Topcoder SRM 676 div2

通过数: 1 250: 裸的多重背包,次数是min{budget / cost[i]的下界,tim[i]},即最多能降多少时间,代价是cost[i] 现场忘了照着版调了一阵。#include <vector>#include <list>#include <map>#include <set>#include <deque>#include <stack>#include <bit

2015-12-19 11:07:00 310

原创 大白书 1.2节 问题求解常见策略

大白书 1.2节 问题求解常见策略 (加~表示看了题解的) ~例题7 UVA 11464 枚举第一行的状态,然后用公式一行一行的推出下一行的状态。#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#include <iostream>#include <string>#include <

2015-12-18 18:33:07 455

原创 USACO 1.2

USACO 1.2 1.2.1 例题1 IOI1998 (POJ 1176) 题意: 给n个灯(n <= 1e5),初始状态均为On。 现在有四个开关,分别能操作对应的灯使得灯的状态翻转,即On<->Off。第一个开关转换所有的灯,第二个开关转换奇数灯,第三个开关转换偶数灯,第四个开关转换i = 3 * k + 1的灯。 先给出必须要按下的按键数量,以及必须On和Off的开关下标。问合

2015-12-11 19:44:18 22943

原创 Codeforces Round #335 div2

Codeforces Round #335 div2 A: 题意: 三个初始状态(a,b,c)是否能经过一种变换得到一个三元组(a’,b’,c’)满足a’>=x,b’>=y,c’>=z。 变换方法是同一维度的值减少2,可以使另一个维度增加1.比如(x,y,z) -> (x-2,y+1,z) 思路: 把三个维度的差值算出来,排成一个数组。然后看每个正数的一半的和是否大于负数的绝对值即可。

2015-12-11 00:05:31 317

原创 Codeforces 605B 构造

Codeforces 605B 题目链接: http://codeforces.com/problemset/problem/605/B 题意: 给一个图n个点(<=1e5)和m条边(<=1e5),其中有一些边是这个图最小生成树的边。 问此图是否合法。不合法输出-1(包括最小生成树不满足),合法输出一种给每条边分配结点的方案。 思路: 构造题。主要流程是先按照原图生成一个最小生成树然后

2015-12-11 00:04:07 412

原创 USACO 1.1

USACO 1.2 主要说一下格式。 头部必打 /* ID: beihai2013 PROG: (题目名字,题目有描述) LANG: C++ */ 然后用文件流打开输入输出。1.2.1 a+b/*ID: beihai2013PROG: testLANG: C++*/#include <iostream>#include <fstream>#include <s

2015-12-09 18:50:52 261

原创 BestCoder Round #65

BestCoder Round #65 HDU 5590 - 5594 通过数:2 1001: 水题,一个个判断即可。#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <string>#include <iostream>#include <algorithm>using

2015-12-06 19:45:44 272

原创 HDU 5592 线段树

HDU 5592 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5592 题意: 一串1-n的排列。(n <= 5000) 定义a[i]为前i个数的逆序对数,然后要还原这个排列。 思路: 现场的时候有思路,但是线段树不会敲就放弃了。 简单说一下思路,从后往前遍历,由a[i] - a[i - 1]知道当前这个位置放的是剩下的数中第几大的

2015-12-06 19:44:03 488

原创 HDU 5593 树形DP

HDU 5593 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5593 题意: 给含有n个点(n <= 5 * 1e5)的一棵树,1为根节点。 Ans[i]表示树中到i的距离小于等于k的点的个数。求所有ans[i]的异或和。 思路: 现场的时候并没有看到这道题。 很容易想到是O(n)的做法,所以只能遍历树一遍。然后发现k特别小,所以

2015-12-06 19:43:23 591

原创 Codeforces 603C 博弈论 + 关于博弈论理解

CF 603C 题目链接: http://codeforces.com/problemset/problem/603/C 题意: 给n个数(n <= 100000, 数 <= 1e9)。 现在对一个数有这样的操作。 操作一:减一 操作二:若数 = 2*x(x>0),则划分为k个(<=1e9)大小为x的数字 先手是Kevin,对手是Nicky,问谁必胜。 思路: 博弈论是试出来的!

2015-12-04 19:39:16 855 2

原创 大白书 2.4节 组合游戏(博弈论)

大白书 2.4节 组合游戏 博弈论笔记: 1)必胜必败状态: a)一个状态为必胜状态,充要条件是后续状态有一个必败状态 b)一个状态为必败状态,充要条件是后续状态全是必胜状态 2)SG函数 a)定义:SG[i] = {所有i的后继SG值中,不在这些值之中的最小非负整数} b)一个状态为必败状态,当且仅当这个状态的SG值为0 c)通常可以用暴力的方法求出参见第二道题,数据过大时参见第一

2015-12-04 14:20:28 505 2

原创 CF R334 div2

Codeforces R334 div2 过题数:1 A: 题意:模拟CF的算分机制 思路:简单计算签到 源码:#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <iostream>#include <algorithm>using namespace std;int m

2015-12-02 11:17:18 354

空空如也

空空如也

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

TA关注的人

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