自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宝树啊宝树

非谢家之宝树

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

原创 CodeForces 743D Chloe and pleasant prizes

题意: 对于给定的一棵树,每个节点上有个权重,问如何挑选两个节点,使得这两个节点的子树没有重合的节点,且其子树的权重之和最大。 思路: 两个节点的子树没有重合的节点,比较显然的想法是这两个节点a,ba,b,不能互为根节点。 那么这个问题就变成了如何挑选两个不重合的子树的最大值。这个是可以用树形DP来解决。对于某个节点uu,他有两个值,一个是cot[u]=∑ki=0cot[v]cot[u]=\su

2016-12-15 13:13:44 507

原创 CodeForces 735D - Taxes

题意 给定一个数字nn,要求使得找到一个最小的kk,满足n=∑ki=1pin=\sum_{i=1}^{k}p_i,其中pip_i均为素数。 思路 本来以为这道题目是利用素数的离散性,用类似贪心的思想,每次找到距离nn最大的素数pprep_{pre},这样能保证nn减小的最快。但是实际上这样这样依旧不是最好的。神TM的歌德巴赫猜想。。猜想直接拿来用还叫猜想吗。。不过这个猜想在一定的数据范围内是成立的

2016-12-12 21:08:18 442

原创 CodeForces 735C Tennis Championship

题意: 给定n个人,你可以选择一系列的比赛方法,使得他们两两之间进行比赛,输的人离场,要求你安排的时候,比赛的两个人胜利场次的差距不能超过1.问最后胜利的人胜利的最大场次思路:乍一看以为是⌈log(n)⌉\lceil log(n)\rceil或者是log(n)+1log(n)+1之类的。但是仔细的推导了之后发现类似哈夫曼编码,最后就能发现实际上是一个fib数列#include <cstdio>#i

2016-12-12 21:04:21 482

原创 CodeForces 742D Arpa's weak amphitheater and Mehrdad's valuable Hoses

题意 : 对于给定nn个模特,每个模特有一个体重wiw_i,和魅力值bib_i,同时给这些模特一些朋友关系,如果xx和yy是朋友,那么xx的朋友和yy的朋友也是朋友。那么这样可以将这些模特根据朋友圈子分类。现在有个人想开一个party,他希望在模特的体重之和不超过kk的情况下使得魅力值最大,问,这个最大的魅力值是多少。同时需要注意的是,对于一个朋友圈子的模特,你有两种选择,一种是邀请整个圈子里的模特

2016-12-07 15:10:51 1016

原创 CodeForces 742C Arpa's loud Owf and Mehrdad's evil plan

题意:对于给定的一个数列nxt[n]nxt[n],如果现在点ii,那么下一个点就在nxt[i]nxt[i],现在问给定nn个,找到一个最小的tt,使得对于从任意一个点xx出发,经过tt次之后,到达的点yy, 使得点yy经过tt次之后会回到点xx.思路: 首先,这是一个nn个点nn条边的有向图。现在要求对于从对任意点xx出发经过2t2t次之后能够回到原点那么这个比较明显的要求这个图是必定是一个环

2016-12-07 15:01:35 885

原创 CodeForces 742B Arpa’s obvious problem and Mehrdad’s terrible solution

题意: 对于给定的nn个数字,要求找到这里面存在有几对数字对pair(a,b)pair(a,b),使得a⊕b=ma\oplus b=m.发现数字范围是[0,100000][0,100000],所以,我们用一个数组cot[300000]cot[300000],来记录每个数字ii出现的次数cot[i]cot[i],然后每次加入新的数字xx更新ans+=cot[x⊕m]ans+=cot[x\oplus

2016-12-07 14:48:56 597

原创 CodeForces 742A Arpa’s hard exam and Mehrdad’s naive cheat

题意:输出1378的nn次方的个位数实际上88的nn次幂是存在循环节的,但为了方便直接就用快速幂做了#include <cstdio>#include <string>#include<iostream>#include<vector>#include <stack>#include <queue>#include <map>#include <cstdlib>#include<

2016-12-07 14:36:05 428

原创 Hihocoder 1014 Trie树

第一次写tiretire,有一些小trick吧。。。感觉没有以前感觉的难了。#include <cstdio>#include <string>#include<iostream>#include<vector>#include <stack>#include <queue>#include <map>#include <cstdlib>#include<string.h>#in

2016-12-06 16:58:06 531

原创 ZOJ 1005 Jugs

题意 给定两个两个容量分别为a,ba,b的水壶,现在给定六种操作 - fill A - fill B - empty A - empty B - pour A B - pour B A现在问需要如何操作使得任意杯子里面的水有nn加仑 思路:简单的bfs,用一个vis[1000][1000]vis[1000][1000]数组来记录某种状态是不是已经经历过了,另外nodenode节点中一

2016-12-05 22:53:11 386

原创 ZOJ 1004 Anagrams by Stack

题意:对于给定的两个字符串,通过栈,将字符串aa变成字符串bb,要找字典序输出所有的操作方法。 思路 :比较明显的是操作有两种:随时都可以入栈,或当栈顶和目前指向的bb串匹配的时候此时还能够出栈。每次完成dfs需要把状态恢复。开始的时候想多了,结果越写越长。。#include <cstdio>#include <string>#include<iostream>#include<vector

2016-12-05 20:55:52 440

原创 ZOJ 1003 Crashing Balloon

题意:对于给定的两个数字,如果对于任意两个数字在1−1001-100的范围内的分解因子(每个数字只能用一次)均有相同的因子,则输出大的数字,反之输出小的。思路:dfsdfs,将每个数字的所有分解方法存起来,然后直接暴力判断是否存在一种没有任何重复的因子。 但是不知道为什么wa了,和ac代码对拍了1w组数据都没找到哪里有问题。#include <cstdio>#include <string>#

2016-12-05 18:14:59 480

原创 CodeForces 732E - Sockets(优先队列)

题意: 给定nn个插座,每个插座的电压是pip_i,在给定mm个插头,每个插头的电压是qiq_i,只有当插座的电压和插头的电压相等的时候两个才能插入。现在还有若干个减压器,在插座上插一个减压器能够使这个插座的电压变成⌈pi⌉\lceil p_i\rceil,多个减压器可以嵌套。问在最多的插头匹配且用最少的减压器的数目。思路:比较显然的是能匹配的尽量匹配,不能匹配时,尽量使用插减压器少的。用一个pai

2016-12-01 22:06:33 544

原创 CodeForces 734D - Anton and Chess (模拟)

题意:给定一个棋盘,棋盘上有一个白皇后,和多个黑色的车,象,和皇后。问当前白皇后是否是将军。思路 用四个数组来存白皇后所在的行列斜线上的棋子,然后对数组排序,二分查找找到皇后的位置,判断皇后在行列斜向上的前后两个棋子是不是能吃到她。时间复杂度O(nlogn)O(nlogn),实际上只要用8个变量来维护最近的棋子就行了,时间复杂度O(n)O(n)。#include <cstdio>#include

2016-12-01 21:48:09 462

原创 CodeForces 734C - Anton and Making Potions

题意:你需要生产nn个药剂,现在你有两种操作,一种是将生产一瓶药剂的时间xx变成aia_i,这个操作需要花费bib_i。第二个操作是立刻生产cic_i瓶药剂,这种操作花费did_i。第一种操作总共有kk种,第二种操作总共有mm种。问在花费不超过ss的情况下,生产nn瓶药水所需要花费的最少时间。题目保证dd的输入是递增的。且每种操作只能选择一种。思路:比较显然的是如果不考虑第一种操作,只考虑第二种操作

2016-12-01 21:41:02 532

原创 CodeForces 734E - Anton and Tree

题目大意:对于给定的一颗树,现在已知这棵树的节点只有0,10,1两种颜色,你可以任选一个节点,并将这个节点所在的颜色相通的联通块颜色全部反转。问,最少需要几次操作可以将这棵树上所有的节点变成用一种颜色。思路: 每次将一个联通块的颜色反转,比较容易想到每次反转后当前这个联通块的区域都会变的更大。 所以我们首先将这棵树进行缩点。缩点之后的树,每个节点都是原来的一个联通快。而将联通块的颜色反转等价于将这

2016-12-01 21:29:32 527

空空如也

空空如也

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

TA关注的人

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