自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HARD_UNDERSTAND

???

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

原创 Codeforces 711C. Bear and Tree Jumps【树形dp好题】

题目:http://codeforces.com/contest/791/problem/D题意:你可以从树上的节点一次最多走k条边。 (称为跳一次); 树为无权树; 然后问你任意两点之间的条的次数的和为多少; 分析:不会做,看题解:http://codeforces.com/blog/entry/51068 代码:#include <bits/stdc++.h>using namespa

2017-03-24 12:46:48 325

原创 Codeforces 791 C. Bear and Different Names【贪心】

题目:http://codeforces.com/contest/791/problem/C题意:有n个名字,如果连续的k个中有重名,那么就是NO,否则是YES。 现在给出n-k+1个连续的YES和NO序列,要求给出一种符合要求的n个名字。分析:如果是YES的话,那么这k个名字肯定是不同的,如果是NO的话,为了对YES不产生影响,那么就让第i个名字和第i+k-1个名字相同即可。代码:#includ

2017-03-24 11:15:25 333

原创 Codefroces 791B【判断完全图,简单题】

题目:http://codeforces.com/contest/791/problem/B题意:给一个图,判断每个连通分量是不是完全图?分析:其实知道是求完全图就很好做了、判断每个连通分量的是否v*(v-1)==e即可,v是顶点数量,e是边的数量。代码:#include<bits/stdc++.h>using namespace std;bool vis[200005];vector<int

2017-03-24 11:08:21 996

原创 51nod 1677 treecnt【树,组合数】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1677题意:给定一棵n个节点的树,从1到n标号。选择k个点,你需要选择一些边使得这k个点通过选择的边联通,目标是使得选择的边数最少。现需要计算对于所有选择k个点的情况最小选择边数的总和为多少。分析:考虑边的贡献,如果选择的k个点都在边的同一侧,那么这边没有贡献,否则就有

2017-03-24 10:56:04 327

原创 51nod 1307 绳子与重物 【二分/并查集】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1307题意:有N条绳子编号 0 至 N - 1,每条绳子后面栓了一个重物重量为Wi,绳子的最大负重为Ci。每条绳子或挂在别的绳子下或直接挂在钩子上(编号-1)。如果绳子下所有重物的重量大于绳子的最大负重就会断掉(等于不会断)。依次给出每条绳子的负重Ci、重物的重量Wi以

2017-03-22 16:41:37 532

原创 51nod 1672 区间交【线段树、multiset】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1672题意:小A有一个含有n个非负整数的数列与m个区间,每个区间可以表示为li,ri。 它想选择其中k个区间, 使得这些区间的交的那些位置所对应的数的和最大。(具体可以参照样例)在样例中,5个位置对应的值分别为1,2,3,4,6,那么选择[2,5]与[4,5]两个区间

2017-03-21 18:28:55 293

原创 51nod 1670 打怪兽 【递推】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1670题意:lyk在玩一个叫做“打怪兽”的游戏。 游戏的规则是这样的。 lyk一开始会有一个初始的能量值。每次遇到一个怪兽,若lyk的能量值>=怪兽的能量值,那么怪兽将会被打败,lyk的能量值增加1,否则lyk死亡,游戏结束。 若怪兽全部打完,游戏也将会结束。

2017-03-21 16:37:08 428

原创 51nod 1391 01串【线段树,思维】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1391题意:给定一个01串S,求出它的一个尽可能长的子串S[i..j],满足存在一个位置i<=x < j, S[i..x]中0比1多,而S[x + 1..j]中1比0多。求满足条件的最长子串长度。 Input一行包含一个只由0和1构成的字符串S。 S的长度不超过100

2017-03-20 17:15:46 537

原创 hdu 5874 Friends and Enemies【二分图,构造】

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5874题意:就是有M个人N种颜色的石头 M个人中每两个人 不是朋友就是敌人 现在他们每个人要用石头要串一条项链 要求是 1.朋友之间的项链至少有一个相同颜色的石头 2.敌人之间没有颜色相同的石头 3.项链可以使空的 就是不串石头 问N种颜色的石头能不能满足这M个人分析:其实应该一下子联想到二分图的,

2017-03-20 11:18:49 257

原创 “玲珑杯”ACM比赛 Round #12【dp】

题目:http://www.ifrog.cc/acm/contest/1014 题解:http://www.ifrog.cc/acm/solution/17A签到题。 B。 题意: 给一个长度是n的字符串,有’0’,’1’,’?’,现在要在把?’变成0或1,变0的代价是c0,变1的代价是c1,而且不能有连续的n0个’0’或者n1个1,输入保证有解,问最小代价? 分析: 刚开始以为dp,想

2017-03-19 12:57:04 345

原创 hdu 5409 CRB and Graph 【边连通、缩点重构】

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5409题意:一个联通的无向图, 对于每一条边, 若删除该边后存在两点不可达,则输出这两个点, 如果存在多个则输出第一个点尽可能大,第二个点尽可能小的。 不存在输出0 0分析:删除边后不连通,显然是找桥。 对于每一条桥,删掉这条桥之后一定会形成两个连通分量。 可以求这两个连通分量的点的最大值max1和max

2017-03-11 21:14:26 253

原创 hdu 3394 Railway【点双连通分量、桥、割点】

题目:http://acm.hdu.edu.cn/showproblem.php?pid=3394题意:有一个公园有n个景点,公园的管理员准备修建m条道路,并且安排一些形成回路的参观路线。如果一条道路被多条道路公用,那么这条路是冲突的;如果一条道路没在任何一个回路内,那么这条路是不冲突的问分别有多少条有冲突的路和没有冲突的路分析: 1.“多余边”不在任何一个环中,那么多余边一定是桥,所以统计这个

2017-03-10 12:43:05 434

原创 poj 3177、3352 【有重边的边连通分量】

题目:http://poj.org/problem?id=3177题意: 为了保护放牧环境,避免牲畜过度啃咬同一个地方的草皮,牧场主决定利用不断迁移牲畜进行喂养的方法去保护牧草。然而牲畜在迁移过程中也会啃食路上的牧草,所以如果每次迁移都用同一条道路,那么该条道路同样会被啃咬过度而遭受破坏。 现在牧场主拥有F个农场,已知这些农场至少有一条路径连接起来(不一定是直接相连),但从某些农场去另外一些

2017-03-10 09:25:10 276

原创 51nod 1076 2条不相交的路径【边连通分量】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1076题意:给出一个无向图G的顶点V和边E。进行Q次查询,查询从G的某个顶点V[s]到另一个顶点V[t],是否存在2条不相交的路径。(两条路径不经过相同的边) (注,无向图中不存在重边,也就是说确定起点和终点,他们之间最多只有1条路) Input第1行:2个数M N

2017-03-09 19:41:49 462

原创 poj 2553 The Bottom of a Graph【强连通分量】

题目:http://poj.org/problem?id=2553题意:在n个点m条边的有向图里面,问有多少个点是汇点。分析:Tarjan,缩点,判断出度为0的强连通分量,将整个集合排序,输出即可。代码:#include<cstdio>#include<cstring>#include<vector>#include<stack>#include<algorithm>using names

2017-03-09 19:34:45 276

原创 hihoCoder [Offer收割]编程练习赛8【数论,dfs,dp,容斥】

题目:http://hihocoder.com/contest/offers8/problems【我只是简单地mark一下,看详细题解的请戳这里】A题肯定L和D的最大公因数肯定是循环节,然后直接暴力模拟即可。#include<bits/stdc++.h>using namespace std;typedef long long ll;int main() { int T; sc

2017-03-07 19:43:27 420

原创 玲珑杯”ACM比赛 Round #11【待补】

题目:http://www.ifrog.cc/acm/contest/1013 官方题解:http://www.ifrog.cc/acm/solution/16直接贴上了,没过的题以后再补(尽管不太可能QAQ)第一题、直接枚举所有可能的x并且计算答案,得出最优解 【水题,忽略】第二题、可以连接的两个工厂相当于可以匹配的两个点,那么问题转化为求两个串的最长公共子序列,但O(n^2)的复杂度会超时,

2017-03-07 15:35:35 267

原创 hdu4825 Xor Sum【Trie、Xor】

题目:http://acm.hdu.edu.cn/showproblem.php?pid=4825题意:给一个数组(n个数,n<1e5),然后m个询问,给出一个x,给出数组中与x异或值最大的那个数?分析:给n个数建立字典树,如果异或值最大,那么就找两个数的二进制尽量不同。代码:#include<bits/stdc++.h>using namespace std;typedef long long

2017-03-05 15:33:46 462

原创 51nod 1441 士兵的数字游戏【素数筛】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1441题意:两个士兵正在玩一个游戏,游戏开始的时候,第一个士兵为第二个士兵选一个正整数n。然后第二个士兵要玩尽可能多的轮数。每一轮要选择一个正整数x>1,且n要是x的倍数,然后用n/x去代替n。当n变成1的时候,游戏就结束了,第二个士兵所得的分数就是他玩游戏的轮数。为了

2017-03-03 17:26:49 275

原创 51nod 1287 加农炮【二分】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1287题意:一个长度为M的正整数数组A,表示从左向右的地形高度。测试一种加农炮,炮弹平行于地面从左向右飞行,高度为H,如果某处地形的高度大于等于炮弹飞行的高度H(A[i] >= H),炮弹会被挡住并落在i - 1处,则A[i - 1] + 1。如果H <= A[0],则

2017-03-02 19:37:09 244

原创 51nod 1434 区间LCM【数论】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1434题意:一个整数序列S的LCM(最小公倍数)是指最小的正整数X使得它是序列S中所有元素的倍数,那么LCM(S)=X。 例如,LCM(2)=2,LCM(4,6)=12,LCM(1,2,3,4,5)=60。 现在给定一个整数N(1<=N<=1000000),需要找到

2017-03-02 17:00:37 458

原创 Codeforces 754 D Fedor and coupons【优先队列】

题目:http://codeforces.com/contest/754/problem/D题意:从n条线段中取出恰好k条使得交集长度尽可能长,输出最优值和方案。分析:感觉这种题做过好多次了,贪心+优先队列就可做。 根据左端点排序,然后依次插入右端点,直到队列中元素有k个,然后当前插入的左端点是最大的,队首的就是右端点最小的。这样维护一下即可。 set和优先队列都可以,set似乎更方便些~~代码

2017-03-02 11:53:29 237

原创 51nod1686 第K大区间 【二分】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1686题意:定义一个区间的值为其众数出现的次数。 现给出n个数,求将所有区间的值排序后,第K大的值为多少。Input第一行两个数n和k(1<=n<=100000,k<=n*(n-1)/2) 第二行n个数,0<=每个数<2^31Output一个数表示答案。Input示

2017-03-02 11:09:54 377

原创 51nod 1405 树的距离之和【树形dp】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1405题意:给定一棵无根树,假设它有n个节点,节点编号从1到n, 求任意两点之间的距离(最短路径)之和。 Input第一行包含一个正整数n (n <= 100000),表示节点个数。 后面(n - 1)行,每行两个整数表示树的边。Output每行一个整数,第i(i

2017-03-01 19:25:23 248

原创 51nod 1682 中位数计数【想法题】

题目:www.51nod.com/onlineJudge/questionCode.html#!problemId=1682题意:中位数定义为所有值从小到大排序后排在正中间的那个数,如果值有偶数个,通常取最中间的两个数值的平均数作为中位数。现在有n个数,每个数都是独一无二的,求出每个数在多少个包含其的区间中是中位数。Input第一行一个数n(n<=8000) 第二行n个数,0<=每个数<=10^9

2017-03-01 12:34:12 210

原创 51nod 1105 第K大的数【二分】

题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1105 题意: 数组A和数组B,里面都有n个整数。数组C共有n^2个整数,分别是A[0] * B[0],A[0] * B[1] ……A[1] * B[0],A[1] * B[1]……A[n - 1] * B[n - 1](数组A同数组B的组合)。求数组C中第K大的数

2017-03-01 09:32:19 233

空空如也

空空如也

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

TA关注的人

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