自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

A Cube Master

一个Cuber的ACM历程

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

原创 Codeforces Round #300 解题报告(ABCDEF)

A Cutting Banner        给一个串,从头尾各切一段下来(也可以不切),问头+尾能否组成"CODEFORCES"。对头尾进行匹配分别得到长度,然后长度相加看是否>=10。B Quasi Binary        给一个数,问这个数最少能用多少个只包含0和1的数相加得到,输出任意解(数都是十进制)。贪心,但是要注意,设当前还需要凑cur,不能去找最大的不超过

2015-04-29 13:46:09 588

原创 poj 1422 Air Raid

最小路径覆盖裸题。最小路径覆盖就是一个最小的路径的集合,这些路径经过了图中所有的点各一次。做法是把点复制一份,成为X部和Y部,边永远从X连向Y。然后跑一遍匈牙利算法,结果就是原顶点数-最大匹配。#include #include #include using namespace std;const int maxn=125;int tote; int head[m

2015-04-28 09:32:34 496

原创 hihoCoder 1156 彩色的树

http://hihocoder.com/problemset/problem/1156描述给定一棵n个节点的树,节点编号为1, 2, …, n。树中有n - 1条边,任意两个节点间恰好有一条路径。这是一棵彩色的树,每个节点恰好可以染一种颜色。初始时,所有节点的颜色都为0。现在需要实现两种操作:1. 改变节点x的颜色为y;2. 询问整棵树被划分成了多少棵

2015-04-27 19:41:07 803

原创 hihoCoder 1158 质数相关

http://hihocoder.com/problemset/problem/1158描述两个数a和 b (a输入第一行为一个数T,为数据组数。之后每组数据包含两行。第一行为N,为集合S的大小。第二行为N个整数,表示集合内的数。输出对于每组数据输出一行,形如"Case #X: Y"。X为数据编号,从1开始,Y为最大的子集的大小。

2015-04-27 17:13:12 722

原创 hihoCoder 1160 攻城略地

http://hihocoder.com/problemset/problem/1160描述A、B两国间发生战争了,B国要在最短时间内对A国发动攻击。已知A国共有n个城市(城市编号1, 2, …, n),城市间有一些道路相连。每座城市的防御力为w,直接攻下该城的代价是w。若该城市的相邻城市(有道路连接)中有一个已被占领,则攻下该城市的代价为0。除了占领城市,B国还要

2015-04-27 14:41:25 1025 1

原创 河南省第七届ACM大学生程序设计竞赛 解题报告

这两天把去年省赛的题挂到了OJ上,顺便练手。A.物资调度DP,类似01背包。dp(i,j)表示情况数,第一维表示考察到第i种物资,第二维表示总数量为j。显然,如果按照题目给的数据范围,答案会超出64位整型的范围,但是题目并没有要求取模,只能说数据太弱。B.海岛争霸Floyd算法,稍微修改一下状态转移方程就可以了。Floyd是求和,这题是取最大。C.机器人

2015-04-23 16:38:27 3218 1

原创 hdu 1973 Prime Path

给两个4位素数(没有前导0)s和t,每次改变一位,改变后必须还是素数,问从s到t最少需要改变几次。        先把所有1000~9999中的素数找出来,然后BFS。#include#include #include#includeusing namespace std; int ans[10010];bool flag[10010];inline int _10pow

2015-04-22 14:16:49 646

原创 hdu 3074 Multiply game

一个数列,有两种操作。一是修改数列中某个数,二是求数列中连续一段的积。        很明显的线段树单点更新模版题。#include#include using namespace std; #define lch(x) ((x)<<1) #define rch(x) (((x)<<1)|1) #define ll long long const int mod = 10

2015-04-22 11:50:00 480

原创 Google Code Jam 2015 Round 1A C large

把这个题专门写出来是因为我比赛时没做,并且学会了新的姿势。做法是枚举每个点i,以点i为中心,对其余点进行极角排序。注意atan2(double,double)这个函数的用法。为了使得点i在凸包上,极角排序后必须存在相邻点的极角差大于等于Pi(中间如果出现了点,需要删去)。因为atan的值域在-Pi和Pi之间,我们需要处理越过y轴负方向的情况方法是将atan小于0的值加上2*Pi。

2015-04-19 14:54:37 575

原创 Google Code Jam 2015 Round 1A 解题报告

太弱了,比赛时只出了A的大数据和BC小数据,排到1700+。赛后才把B的小数据过了。A. Mushroom Monster        就是贪心模拟。第一种吃法,只有当前时刻比10秒前少才去吃减少的量,否则不吃。第二种吃法,计算每十秒的减少量,以减少量最大的作为平均速率去吃。#include using namespace std; int m[10010];

2015-04-18 17:27:36 2262

原创 bnuoj 34067 Pair

看到题以为能搜出来,写了个搜索,结果发现搜到20就搜不动了,不过发现了规律。答案序列是001112233344555...#include using namespace std; bool sumUsed[110];bool numUsed[110];int ans;int tmp;int n;void dfs(int sum){ if(sum>n)ret

2015-04-17 22:50:35 449

原创 python学习

这两天开始学习python,不知道从何学起。上w3cschool看了下,果断用来试着敲CF Round 298。

2015-04-16 15:13:56 490

原创 Codeforces Round #299 (Div. 1) 解题报告 (AB)

A Tavas and Karafs        这题难读得很,英语硬伤了。。可以理解为一排高度为等差数列的柱子,给一些询问,对每个询问,每次能砍掉m根柱子1个单位的高度,砍t次,需要回答能从l开始连续砍光几根。        思路是二分。因为肯定砍不到高度大于t的柱子,所以先找出高度不大于t的右边界,拿来和l二分。二分时比较的是这些柱子的总高度和能砍的总高度。#include

2015-04-15 03:43:47 538

原创 Codeforces Round #297 (Div. 2) E

Anya and Cubes        这个数据范围,很明显的折半搜索,还是不难写的。分别从前往后和从后往前dfs。从前往后搜到中间,结果存在一个map里,从后往前搜到中间,查询map。#include using namespace std;#define ll long longint a[30];int n,k;ll S;int mid;map mp[

2015-04-14 16:01:32 460

原创 Codeforces Round #297 (Div. 2) D

Arthur and Walls        题目说的是有一个n*m的矩阵,元素是'.'或'*',要求把尽可能少的'*'变成'.',使得所有'.'的区域都是矩形。        想了好些方法,最后看了题解。。其实这题的关键是想到如果某个2*2的矩阵内有3个'.',那么剩下的那个'*'也应该变成'.'。想到这个以后,搜一下就可以了。#include #include #incl

2015-04-13 23:32:33 430

原创 Codeforces Round #298 (Div. 2) 解题报告 (ABCD)

A Exam        构造题。构造方法很多。#include using namespace std;int main(){ int n; cin>>n; if(n<=2){ cout<<1<<endl; cout<<1<<endl; }else if(n==3){ cout<<2<<endl; cout<<1<<" "<<3<<endl; }

2015-04-13 11:42:04 486

原创 自己出的题 squee_spoon and his Cube III

首先说下题意。就是一个比赛(安排得很紧凑),最多3个人同时比,每个人需要的时间是已知的,问最少总共花多少时间。或者可以想象成这样:三张桌子,一个选手比完下一个上。        问题就可以转化为:有一些数,分为三组,需要使得和最大的那组尽可能小。        这个问题可以通过dp(动态规划)来解决。dp(i,j)的第一维表示第一组的总时间,第二维表示第二组的总时间,第三组的总时间自然就是

2015-04-12 21:29:24 522

原创 Google Code jam Qualification Round 2015 解题报告

Problem A. Standing Ovation        题目说的是有许多观众,每个观众有一定的羞涩值,只有现场站起来鼓掌的人数达到该值才会站起来鼓掌,问最少添加多少羞涩值任意的人,才能使所有人都站起来鼓掌。        贪心模拟一下就好,添加的人默认让他们羞涩值为0,扫一遍,让加到刚好够就行。#include #include #include #includ

2015-04-12 10:20:20 1225

原创 NOIP 提高组2014 联合权值

好久不发博客了,学弟挂了一组NOIP的题,第一次做这种赛制。。        这个题是求一棵树上,所有距离为2的点对的点权的乘积的和,以及所有距离为2的点对的点权的乘积的最大值。开始用暴力写的,发现在一种特殊的情况下,所有点都和一个点相邻,复杂度就会达到平方,就会超时。        经过优化后的做法是这样的。首先把树转为有根树,记录每个点的父亲,和所有孩子。一个点的任意两个孩子之间的距离

2015-04-11 17:29:11 931

空空如也

空空如也

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

TA关注的人

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