自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HDU 3698 Let the light guide us dp+线段树维护区间极值

很简单的dp 线段树维护区间最小值 第一题线段树 留个纪念#include #include using namespace std;const int inf=0x3f3f3f3f;int n,m,T[105][5005],f[105][5005],dp[5005],t[5005];struct s { int l,r,val,lazy; void upd(int

2017-01-31 01:26:44 279

原创 搜索小专题

A.Red and Black网格搜索,用dfs或者bfs写都可以。#include #include const int dx[4]={0,0,-1,1};const int dy[4]={-1,1,0,0};int w,h;char s[20][21];bool vis[20][21];int dfs(int x,int y) { if (x=h||y=w||vi

2017-01-18 12:05:33 786 3

原创 Codeforces Round #381 (Div. 2) D. Alyona and a tree 树型前缀和+二分维护

题意:给一棵有向树,根固定为1,每个顶点v都有一个权值av。对于每个顶点,若其他顶点满足dist(v, u) ≤ au   ,则u能被v控制。注意u是子树节点。要求输出每个顶点控制的顶点个数。解法:刚开始看错了题目,想要二分却维护不了单调性,后来发现u、v中u才是子树节点(和平时做题的命名习惯不太一样哈)。这样就能很好想到二分了。dfs的时候,系统栈里存的其实是一条链式的路径,所以就在这条

2017-01-15 12:27:54 432

原创 Codeforces Round #380 Technocup 2017 - Elimination Round 2 F. Financiers Game DP+状态简化

#include using namespace std;const int maxn=4001;const int inf=0x3f3f3f3f;int n,a[maxn],dp[maxn][181][91][2];int DP(int l,int d,int k,int f) { if (dp[l][d][k][f]inf/2) return 0; r

2017-01-15 01:09:28 368

原创 Codeforces Round #385 (Div. 2) E. Hongcow Buys a Deck of Cards DP+好题

题意:小明要买卡片,卡片分红、蓝两种,每天,小明可以:1.获得一个红币和一个蓝币,注意是和。2.买卡。买卡需要的价格是max(ri-A,0)个红币和max(bi-B,0)个蓝币,ri、bi是第i张卡片所需红蓝币的个数,A、B是已经拥有的红蓝卡的个数。求买完所有卡片所需的最少天数。解法:n很小,自然可以想到状态压缩dp,由于每天是同时获得一枚红币和蓝币,所以dp数组如果存天数会变得难

2017-01-14 00:21:43 600

原创 Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) B - Bash's Big Day 枚举

题意:给一堆数,选出个数最多的数的集合。使得集合内所有数的最大公因子不为1。解法:枚举含有每个因子的数的个数,以及相同的数的个数,两者取最大值即可。此题 1 1 答案为1,5 1 1 1 1 1 答案为1,可以拿来hack。#include using namespace std;const int maxn=100005;int n,cnt[maxn],t,res;int mai

2017-01-13 11:13:40 445 2

原创 Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) C. Felicity is Coming! 哈希

解法:对于pokermon a和b,只要它们在所有gym中出现的次数都是相同的,则变身的时候,种类可以互换。没有出现过的pokermon,归为所有gym都是0的情况,比赛的时候特判了这个反而没有过pretest。将数字划分到不同的集合内,则答案既是:(集合元素个数阶乘)的乘积。用vector进行hash:#include using namespace std;typedef long

2017-01-13 10:54:37 469

原创 Codeforces Round #375 (Div. 2) E. One-Way Reform 欧拉回路+构图

题意:给一个无重边的无向图,给边定向,使得定向后的有向图中满足出度等于入度的点的个数最多。输出点的个数以及各条边的方向。解法:已知一个无向图的联通分量中,奇度点的个数一定是偶数。故可向原图中奇度点之间加边,最后跑出欧拉回路就行,输出边的时候,注意自己添加的边不要输出即可。#include using namespace std;typedef unsigned int uii;typ

2017-01-12 19:26:04 256

原创 Testing Round #13 C. Interactive Bulls and Cows (Hard) 枚举

题意:给定一个隐藏0-9组成的各个位置不同的4位字符串。每次猜测一个数字,系统返回bulls:位置对且值对的数字的个数;cows:位置不对但是值对的个数,且多个值对算一个。如:1234 与 2222 bulls=1,cows=0。总共有5040种可能,每次猜测的时候:1.尝试5040种中每一种可能,使得在当前可能的答案中,返回的bulls和cows的数量的最坏的情况最小。即每次保证排除足够

2017-01-11 02:19:20 304

原创 Codeforces Round #372 (Div. 2) D. Complete The Graph 好题+图论+思维+二分

将可改变的边长度先置为1,不断用dij跑最短路,若d[t]注意原本的最短路已经小于L的情况。#include #include #include #include #include #include using namespace std;#define fst first#define snd secondtypedef long long ll;typedef un

2017-01-08 14:26:35 428

原创 Codeforces Round #390 (Div. 2) D. Fedor and coupons 贪心+优先队列

按左端点排序,则拿一个优先队列维护一下右端点的最小值即可。优先队列里面始终有且仅有k条线段的右端点信息。#include using namespace std;const int maxn=300005;int n,k,res,p,rl,rr;struct ss { int l,r,id;} seg[maxn];bool cmp(ss s1,ss s2) { re

2017-01-07 14:13:25 317

原创 CCF 201612-4 压缩编码 区间dp(石子合并)+四边形不等式优化

拿样例建树的时候发现是一道区间dp。这题没有卡时间,给了三秒,测评机速度还算很快。264914压缩编码01-06 13:28522BC++正确1001.812s4.898MB264913压缩编码01-06 13:15691BC++正确10046m

2017-01-06 13:34:40 522

空空如也

空空如也

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

TA关注的人

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