自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 问答 (1)
  • 收藏
  • 关注

原创 codeforces 731C(DFS)

题目链接:http://codeforces.com/contest/731/problem/C题意:有n只袜子(1~n),k种颜色(1~k),在m天中,左脚穿下标为l,右脚穿下标为r的袜子,问最少修改几只袜子的颜色,可以使每天穿的袜子左右两只都同颜色。好恶心的袜子,一会儿看成改袜子的颜色,一会儿看成改l,r的颜色,一会下标看混......不过,菜是原罪=_=思路:先建图,在每个连

2016-10-17 11:44:04 663

原创 codeforces 651C(map、去重)

题目链接:http://codeforces.com/contest/651/problem/C思路:结果就是计算同一横坐标、纵坐标上有多少点,再减去可能重复的数量(用map,pair存一下就OK了)。#includeusing namespace std;typedef long long ll;typedef pair pii;const int N = 2e5 + 5;m

2016-10-05 21:03:32 518

原创 HDU5920(字符串模拟)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5920题意:将一个数字分成不超过50个回文数字,只要不超过50个就行,不一定要最小。思路:一道算是比较简单的题被我越搞越复杂。从中间开始向两边遍历并逐位赋值给b,找到不对称的地方时取较小的数,每次找到的b都是小于a的较大回文数字。如a = 123345,则第一个回文数字b = 123321;

2016-10-04 23:24:05 1176 1

原创 codeforces 723D(DFS)

题目链接:http://codeforces.com/problemset/problem/723/D题意:n*m的矩阵中,'*'代表陆地,'.'代表水,连在一起且不沿海的水形成湖泊。问最少填多少块water能使湖泊数量降到k个。思路:本来最有把握的一次CF,D题小错误一直RE,C题最后也FST了......先DFS出各湖泊的大小并用其中一个点存在结构体中,最后有num0个湖泊,再

2016-10-03 23:21:16 594

原创 codeforces 721C (拓排 + DP)

题目链接:http://codeforces.com/contest/721/problem/C题意:从1走到n,问在时间T内最多经过多少个点,按路径顺序输出。思路:比赛的时候只想到拓排然后就不知道怎么办了......先拓扑排序,再按照拓扑的顺序进行DP,dp[to][j](到i点走过j个点最短时间) = min(dp[to][j], dp[i][j] + dis)#include

2016-10-02 19:41:16 1324

原创 codeforces 722C (并查集)

题目链接:http://codeforces.com/contest/722/problem/C题意:每次破坏一个数,求每次操作后的最大连续子串和。思路:并查集逆向操作#includeusing namespace std;typedef long long ll;const int N = 1e5 + 10;ll sum[N], ans[N];int n, a[

2016-10-02 14:26:33 428

原创 北京网赛I题 hiho1391 (树状数组、区间覆盖最大值问题)

题目链接:http://hihocoder.com/problemset/problem/1391题意:A国和B国向对方分别投射N枚和M枚导弹(发射时间,飞行时间,伤害值),同时两国各自都有防御系统,导弹碰到防御系统会发生反弹。B国防御时间固定,求A国受到的最小伤害。思路:对于从A国发射的导弹,判断到达B时(a+b)是否在B国防御区间[x , x + Tb]内,如果不在就不用管了,在的话计

2016-09-25 23:50:30 367

原创 HDU5883(青岛网赛1006)(欧拉路)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5883思路:欧拉路的性质:经过每条边一次且仅一次,奇度定点个数为0(欧拉回路)或2(欧拉路)。度数为x的顶点,贡献为(x+1)/2%2,首先当然需要先判断是否存在欧拉路,再分是否为欧拉回路两种情况讨论。#include#include#includeusing namespace

2016-09-22 23:30:32 515

原创 HDU5898、 HDU 2089(数位DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5898题意:很明确,找出区间[l , r]中符合连续奇数为偶数,连续偶数为奇数的个数。思路:dp[i][j][1]表示i位数j开头符合条件的数,dp[i][j][0]表示i位数j开头(之后)可能符合条件的数。#include#includeusing namespace std;typ

2016-09-22 22:06:38 230

原创 区间DP合集

①HDU5115:http://acm.hdu.edu.cn/showproblem.php?pid=5115题意:每只狼有自身攻击和额外攻击两个属性,杀手杀死它时受到它自身攻击(ai)和相邻两只(一只)狼的额外攻击(b(i-1) , b(i+1))之和,杀死之后相邻关系会对应调整,求杀手杀死全部狼受到的最少伤害。思路:一开始一直想贪心,结果还是放弃了.....区间DP,dp[i]

2016-09-16 15:29:52 1153

原创 HDU5120(几何)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5120题意:求两圆环相交面积,模板题。#include#include#includeusing namespace std;const double eps = 1e-8;const double pi = acos(-1.0);int sgn(double x){ if

2016-09-15 23:00:22 324

原创 HDU 5876 (大连网赛1009)(BFS + set)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5876题意:给定一个图(n个顶点m条边),求其补图最短路思路:集合a表示当前还未寻找到的点,集合b表示本次bfs之后仍未寻找到的点#include#include#include#includeusing namespace std;const int N = 2e5 + 5;s

2016-09-14 15:31:59 254

原创 codeforces 682D(DP)

题目链接:http://codeforces.com/contest/682/problem/D思路:dp[i][j][l][0]表示a串前i和b串前j利用a[i] == b[j]所得到的最长子序列,    dp[i][j][l][1]表示a串前i和b串前j不利用a[i] == b[j]所得到的最长子序列,所以,dp[i][j][l][0] = max(dp[i-1][j-1][l][

2016-09-12 23:29:46 336

原创 HDU5875 - 大连网赛1008(单调栈)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5875思路:显然F(l , r) = Al % A(l+1) % ***Ar,大于当前数的直接跳过。#include#include#includeusing namespace std;const int N = 1e5 + 10;int a[N] ,Next[N];stack s

2016-09-11 20:25:59 313

原创 codeforces 666A (DP)

题目链接:http://codeforces.com/problemset/problem/666/A思路:dp[i][0]表示第a[i-1]~a[i]组成的字符串是否可行,dp[i][1]表示第a[i-2]~a[i]组成的字符串是否可行,显然dp[len-2][0(1)]必定不可行。转移方程:dp[i][0] = dp[i+3][1] || dp[i+2][0] && (tmp1

2016-09-09 23:24:07 365

原创 codeforces 706D (字典树)

题目链接:http://codeforces.com/problemset/problem/706/D题意:q次操作,可以向多重集中增添,删除,询问异或最大值。思路:转化为二进制用字典树存储,数字从高位开始,并全部固定位30位。#includeusing namespace std;const int N=2e5 + 5;int now = 1 ,Trie[N<<5][2] ,n

2016-09-09 00:32:04 341

原创 codeforces 675C Money Transfers(贪心)

题目链接:http://codeforces.com/contest/675/problem/C题意:有n个银行围成一圈,相邻的银行可以相互转账,问最少操作次数使得余额均为0。思路:从1-n扫一遍,处理前缀和,如果有一段长为l的子序列和为0,则操作次数可以减少一次。结果即n-出现次数最多的前缀和的值。#includeusing namespace std;typedef l

2016-09-05 19:59:28 467

原创 codeforces 675D Tree Construction (map)

题目链接:http://codeforces.com/contest/675/problem/D题意:建立一棵二叉搜索树,比当前节点小的放左边,否则放右边。问编号2~n的节点的父节点数值是多少。思路:如果用普通的建树方法来做,在遇到深度较深的树时会超时。map的lower_bound(t)返回第一个key大于等于t的位置it,所以t必定在(it.second,it.firs

2016-09-04 19:11:02 307

原创 codeforces 682C Alyona and the Tree(DFS)

题目链接:http://codeforces.com/problemset/problem/682/C题意:如果点v在点u的子树上且dist(u,v)>a[v]则u和其整个子树都将被删去,求被删去的点数。思路:1为根节点,从1开始DFS遍历,记录距离dis为到祖宗节点的最大距离。#includeusing namespace std;typedef long long ll;

2016-09-03 16:37:39 415

原创 HDU1005(矩阵快速幂)

DescriptionA number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. Given A, B, and n, you are to calculate the value of f(n). Inp

2016-09-03 13:29:26 395

原创 codeforces 687A NP-Hard Problem(DFS二分图判定)

题目链接:http://codeforces.com/problemset/problem/687/A#includeusing namespace std;const int N=1e5+5;vector a[N];int n,m,flag=1,num1=0,num2=0;int vis[N];void dfs(int i,int mark){ if(vis[i

2016-09-03 13:08:46 395

原创 codeforces 446B(优先队列)

题目链接:http://codeforces.com/problemset/problem/446/B#includeusing namespace std;typedef long long ll;const int N=1e3+3;int matrix[N][N];ll row[N],col[N];ll dpr[N*N],dpc[N*N];priority_queue q;

2016-09-03 11:52:17 502

原创 codeforces 711D Directed Roads(DFS)

题目链接:http://codeforces.com/problemset/problem/711/D思路:由于每个点出度都为1,所以没有复杂的环中带环。DFS遍历,若为环则有2^k-2种,若为链则为2^k种。#includeusing namespace std;typedef long long ll;const int N=2e5+10;const int mod=1e9

2016-09-03 11:23:37 385

原创 codeforces 711C Coloring Trees(DP)

题目链接:http://codeforces.com/problemset/problem/711/CO(n^4)的复杂度,以为会超时的思路:dp[i][j][k]表示第i棵数用颜色k涂完后beauty为j#includeusing namespace std;typedef long long ll;const ll inf=1e15;int c[105];int p[10

2016-08-30 12:15:18 419

原创 HDU4055 - number string(DP)

Problem DescriptionThe signature of a permutation is a string that is computed as follows: for each pair of consecutive elements of the permutation, write down the letter 'I' (increasing) if the sec

2016-08-29 18:28:34 560

原创 HDU5763 another meaning -(KMP+DP)

DescriptionAs is known to all, in many cases, a word has two meanings. Such as “hehe”, which not only means “hehe”, but also means “excuse me”.Today, ?? is chating with MeiZi online, MeiZi sends

2016-08-28 16:09:50 470

原创 codeforces 708B-Recover the String

题目链接:http://codeforces.com/problemset/problem/708/B题意:给出四个数分别代表字符串中子序列00,01,10,11的数量,求一个满足该条件的字符串。思路:首先a和d必须是k * (k - 1) / 2 (k >0 )的形式,通过此式可以算出0和1的数目num0和num1。其中如果a(d)==0则num0(num1)可以为0或1,需要对num0

2016-08-27 15:37:36 704

原创 codeforces 707D-(DFS+bitset)

题目链接:http://codeforces.com/contest/707/problem/D根据询问建立一棵树然后DFS。#includeusing namespace std;const int N=1e3+3;const int maxn=1e5+3;int n,m,q;vector G[maxn];bitset bit[N];bitset opp;int ope[

2016-08-24 21:49:43 424

原创 codeforces #Round 368 div2-C(勾股数)

题目链接:http://codeforces.com/contest/707/problem/C题意:给出一个数,输出两个数,这三个数能构成勾股数。思路:先观察平方数1,4,9,16,25,36,49.......显然n==1(无法构成三角形)或n==2(三边2,3,4不能构成直角三角形)无解。数列相邻两项之差( n + 1 ) ^ 2 - n ^ 2 =  2n + 1为奇数,故

2016-08-24 18:04:04 327

原创 codeforces Educational Codeforces Round 16-C

题目链接:http://codeforces.com/contest/710/problem/C思路:刚开始没看到条件n为奇数,一上来就是DFS,搞了半天结果再怎么剪枝也是超时(显然n=2时就是无解.....)。n是奇数就好办了,只要把奇数和偶数放在指定位置就行,答案不唯一。#includeusing namespace std;int a[55][55];int main(

2016-08-24 17:33:58 285

原创 codeforces Educational Codeforces Round 16-E(DP)

题目链接:http://codeforces.com/contest/710/problem/E题意:开始文本为空,可以选择话费时间x输入或删除一个字符,也可以选择复制并粘贴一串字符(即长度变为两倍),问要获得长度为n的串所需最少的时间。思路:dp[i]表示获得长度为i的串所需要的最短时间,分i为奇数和偶数讨论。#includeusing namespace std;const i

2016-08-24 17:26:10 272

原创 codeforces 597C (树状数组+DP)

题目链接:http://codeforces.com/contest/597/problem/C思路:dp[i][j]表示长度为i,以j结尾的上升子序列,则有dp[i][j]= ∑dp[i-1][k](1#include#define lowbit(x) x&(-x)typedef long long ll;const int N=1e5+3;ll dp[12][N];using

2016-08-19 22:37:45 455

原创 codeforces #round363 div2.C-Vacations (DP)

题目链接:http://codeforces.com/contest/699/problem/Cdp[i][j]表示第i天做事情j所得到最小的假期,j=0,1,2。#includeusing namespace std;const int INF=0x3f3f3f3f;int dp[105][3];int main(){ int n; scanf("%d",&n)

2016-08-18 21:52:51 243

原创 Codeforces Round #365 (Div. 2)-D Mishka and Interesting sum(树状数组)

题目链接:http://codeforces.com/contest/703/problem/D思路:看了神犇的代码写的...偶数个相同的数异或结果为0,所以区间ans[l , r]=区间[l , r]每个数相异或^区间[l , r]出现过的数相异或。如数组1,2,1,3,3,2,3,则ans[1 , 7]=(1^2^1^3^3^2^3)^(1^2^3)前半部分可以处理出前缀异或,后半

2016-08-18 19:03:28 252

原创 codeforces round367 div2.C (DP)

题目链接:http://codeforces.com/contest/706/problem/C#includeusing namespace std;typedef long long ll;const int N=1e5+3;const ll INF=1e18;ll dp[N][2];string a[N],b[N];int c[N];int main(){ in

2016-08-15 16:35:32 315

原创 POJ3254-Corn Fields(状压DP)

题目链接:http://poj.org/problem?id=3254思路:把每行的状态转化成一个二进制数,每个数代表一种放置方法,dp[i][j]=Σdp[i-1][k](k为满足条件的放置方法)。#includeusing namespace std;const int MOD=1e8;int dp[13][(1<<12)+5];int a[13],b[(1<<12)+5];

2016-08-15 16:25:00 313

原创 codeforces 703C

题目链接:http://codeforces.com/contest/703/problem/C思路:分三种情况:①. 人在走到各顶点对应纵坐标时车均在右侧,即均未到达。② .人在走到各顶点对应纵坐标时车均在左侧,即均已驶过。③. 左右两侧均有分布。对于①②,人可以直接以最快速度行走至终点,即w / u。对于③,找出相对人最晚到达的车,人必须在0 ~ y 之间进行速度调整,

2016-08-08 16:39:03 329

原创 HDU2824 欧拉函数

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2824#include#includeusing namespace std;typedef long long ll;const int N=3e6;int phi[N+3];void init(){ for(int i=1;i<=N;i++) phi

2016-07-27 01:33:55 330

原创 HDU1286 欧拉函数

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286通项:φ(x) = x * ( 1 - 1 / p1 ) *( 1 - 1 / p2 ) * ( 1 - 1 / p3 ) ...... ( 1 - 1 / pn ),其中p为x的质因子code:#include#includeusing namespace std;in

2016-07-27 00:42:58 327

原创 HDU5573 Binary Tree(构造)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5573题目大意:给定二叉树(无限大)按顺序编号,青蛙可以沿着二叉树走k层,开始时为0,每层可以加上或减去该数字,求一种方案使得最终结果为N。任意一个2^k以内的奇数可以由k个2的n次幂相加减构成,如k=3时5 = 2 ^ 2+ 2 ^ 1 - 2 ^ 0  ,  3 = 2 ^ 2 - 2 ^

2016-07-26 14:55:47 274

空空如也

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

TA关注的人

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