自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr.Phoebe的专栏

退役后还是一个弱渣

  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 HDU 5324 Boring Class【cdq分治】

这就是一个三维排序的问题,一维递减,两维递增,这种问题用裸的CDQ分治恰好可以解决。 如同HDU 4742(三维排序,一个三维都是递增的) 因为最小字典序比较麻烦,所以要从后面往前面做分治,每个点的dp值表示以这个点为起点,最长可以延伸多长。 本来是想按照LiL_i排序,但是这样做在cdq的时候实在是太难以处理了,所以就按照idx排序,也就是不需要排序。 然后按照RiR_i排序,对于左边,保

2015-07-28 20:58:07 1780

原创 HDU 5297 Y sequence

题意: 给定正整数n和r,定义Y数列为从正整数序列中删除所有能表示成a^b(2 ≤ b ≤ r)的数后的数列,求Y数列的第n个数是多少。例如n = 10, r = 3,则Y数列为2 3 5 6 7 10 11 12 13 14,第10个数是14。思路: 首先想到二分,如果我们求出了对于mid的位置删去了多少个数,就可以通过二分来得到答案。实际上会卡一卡二分的常数,加一个优化就可以过了。这里用的是

2015-07-27 22:53:16 707

原创 莫比乌斯反演

定理:F(n)F(n)和f(n)f(n)是定义在非负整数集合上的两个函数,并且满足条件F(n)=∑d|nf(d)F(n)=\sum_{d|n}f(d),那么我们得到结论 f(n)=∑d|nμ(d)F(nd)f(n)=\sum_{d|n}\mu(d)F({n\over d})在上面的公式中有一个函数,它的定义如下: (1)若d=1d=1,那么μ(d)=1\mu(d)=1 (2)若d=p1p2.

2015-07-27 22:11:33 705

原创 HDU 5307 He is Flying【FFT】

题意: 有n段路,每段路长度为sis_i,你从节点i到节点j,可以获得一个开心值j−i+1j-i+1,然后问你,主人公走过了所有总长度为ss的段,问你有多少开心值。 思路: 首先想到的就是类似于组合数学那样,于是就想到了母函数: (∑ix∑si)(∑x−∑si−1)−(∑x∑si)(∑(i−1)x−∑si−1)(\sum ix^{\sum s_i})(\sum x^{-\sum s_{i-1

2015-07-24 14:46:18 2020

转载 划分树

划分树,从网上看到的代码的风格主要有两种。下面的介绍直接是从网上找的看的懂的贴了份过来,其中有些修改。划分树的定义         划分树定义为,它的每一个节点保存区间[lft,rht]所有元素,元素顺序与原数组(输入)相同,但是,两个子树的元素为该节点所有元素排序后(rht-lft+1)/2个进入左子树,其余的到右子树,同时维护一个num域,num[i]表示lft->i这个点

2015-07-23 20:03:12 546

原创 HDU 5293 Tree chain problem【树形DP】

树形DP dp[i]dp[i]:表示以节点i为根的子树的最有情况 sum[i]sum[i]:表示∑dp[k]\sum dp[k](其中k是i的儿子) 转移情况有两种: 一是:dp[i]=sum[i]dp[i]=sum[i] 二是:选取一条链p,其中p的两个端点的LCA为节点i dp[i]=max(dp[i],val[p]+∑(sum[k])−∑(dp[k]))dp[i]=\max(dp[

2015-07-22 20:53:32 609

原创 HDU 5296 Annoying problem

这是用倍增法按照题解公式写的代码,除了题解的那种操作细节以及公式以外其他都是最简单的那种LCA…// whn6325689// Mr.Phoebe// http://blog.csdn.net/u013007900#include <algorithm>#include <iostream>#include <iomanip>#include <cstrin

2015-07-22 16:02:44 982

原创 HDU 5292 Pocket Cube

结论题 问了学长怎么做的,学长告诉我这个结论,然后说,会玩魔方的人都知道啊… // whn6325689// Mr.Phoebe// http://blog.csdn.net/u013007900#include <algorithm>#include <iostream>#include <iomanip>#include <cstring>

2015-07-21 19:10:46 1057

原创 HDU 5299 Circles Game

平均情况O(nlogn)O(nlogn)的建树,但是在最坏情况下可以退化成O(n2)O(n^2) 下面是题解的建图方式,最后的博弈用树上SG就行 // whn6325689// Mr.Phoebe// http://blog.csdn.net/u013007900#include <algorithm>#include <iostream>#inc

2015-07-21 18:35:51 590

原创 BC#45 1004 && HDU 5275【差值方法】

作为BC的1004,比赛的时候确实没什么人做出来,确实用差值的方法不太容易想到 差值方法介绍 用拉格朗日差值来做// whn6325689// Mr.Phoebe// http://blog.csdn.net/u013007900#include <algorithm>#include <iostream>#include <iomanip>#inclu

2015-07-20 17:43:57 612

原创 SPOJ 1825 Free tour II

论文题:在以root为根的第 i 棵子树上,我们用G[ i ,j ]表示root的第 i 棵子树的路径上严格有 j 个黑点的路径的最长长度。用F[ i ,j ]表示在root为根的第 i 棵子树的路径上不超过 j 个黑点的路径的最长长度。 因为所有子树里包含黑点数最多的路径的包含黑点数len可以O(N)求出,我们按照每棵子树的len从小到大的顺序遍历,这样就能将G和F数组降低一维,以G[ i ]表

2015-07-20 12:43:52 585

原创 POJ 2114 Boatherds 点分治

问是否存在长度等于K的路径。就是将统计小于等于K的换成统计等于K的条数,只要最后统计出来的等于K的数量大于0就是存在。其他一点没变,还是那个论文题的点分治。// whn6325689// Mr.Phoebe// http://blog.csdn.net/u013007900#include <algorithm>#include <iostream>#incl

2015-07-16 09:43:57 511

原创 Zoj 3587 Marlons String

题意: 给定两个串S和T,从S中找两个子串组成T(拼起来和T一模一样),两个子串可重叠,问有几种组合方法?三种方法: KMP+计数 直接用T去匹配S,匹配到T中的T[j]时,说明长度为j的前缀出现了,更新sum[j],然后通过递归计算sum[next[i]] += sum[i]。为什么要这样计算呢?因为当某个前缀是另一个前缀的后缀时,会出现少计算的情况,更新的时候只更新后面那个前缀的出现次数而

2015-07-15 11:21:59 587

原创 Andrew Stankevich Contest 28 - I

Problem I. Travel AgencyInput file: travel.in Output file: travel.out Time limit: 1 second Memory limit: 256 megabytes Anthony is working in the intergalaxy travel agency. He often meets the reques

2015-07-13 11:54:48 979

原创 Andrew Stankevich Contest 28 - F

Problem F. Move to FrontInput file: mtf.in Output file: mtf.out Time limit: 1 second Memory limit: 256 megabytesMove-to-Front is a method of transforming sequences of positive integer numbers, that

2015-07-12 14:35:53 748

转载 杨氏矩阵与钩子公式

杨氏矩阵又叫杨氏图表,它是这样一个矩阵,满足条件: (1)如果格子(i,j)没有元素,则它右边和上边的相邻格子也一定没有元素。(2)如果格子(i,j)有元素a[i][j],则它右边和上边的相邻格子要么没有元素,要么有元素且比a[i][j]大。 1 ~ n所组成杨氏矩阵的个数可以通过下面的递推式得到:  如图就是n=3时的杨氏矩阵。    

2015-07-07 22:06:44 2389

poj第1200题

北京大学在线测评网站POJ第1200题的解答,已经AC通过

2013-11-30

空空如也

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

TA关注的人

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