CHN_JZ的博客

while(!die) is_a_oier();

排序:
默认
按更新时间
按访问量

[普通型母函数+容斥+FFT]BZOJ 3771:Triple

看到ZZK大佬的blog写的太好啦,所以就“转”来了。 题目概述 CHNJZ有nn把价值不一样的斧子,ZigZagK偷走了11把或22把或33把,对于每个可能的总损失,计算有几种可能的方案。 解题报告 emm……显然是母函数啊?但是有数量限制。由于最多偷走三把,所以我们可以直接三种情况...

2018-01-10 19:24:09

阅读数:167

评论数:0

[二进制分组维护凸包]BZOJ 4140—— 共点圆加强版

[二进制分组维护凸包]BZOJ 4140—— 共点圆加强版题目描述在平面直角坐标系中,Wayne需要你完成n次操作,操作只有两种:1.0 x y。表示在坐标系中加入一个以(x, y)为圆心且过原点的圆。2.1 x y。表示询问点(x, y)是否在所有已加入的圆的内部(含圆周),且至少在一个圆内部(...

2017-12-28 18:10:53

阅读数:395

评论数:1

[巴什博奕]HDU 2147——kiki's game

题目描述给你n*m表格,初始在右上角,每次在上个人移动后的基础上移动一步(向左or向下or向左下)先到左下角则获胜。解题思路先来说说巴什博奕。给出n个数,每次可以取x个(1<=x<=m)。显然可以按m+1分,每次操作看对手上次操作,保持和为m+1,如果n为m+1的倍数后手显然必胜。得到...

2017-12-20 21:09:39

阅读数:162

评论数:0

[威佐夫博奕]POJ 1067——取石子游戏

题目描述有两堆石子,数量任意,可以不同。游戏开始由两个人轮流取石子。游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在两堆中同时取走相同数量的石子。最后把石子全部取完者为胜者。现在给出初始的两堆石子的数目,如果轮到你先取,假设双方都采取最好的策略,问最后你是胜者还是...

2017-12-20 20:45:14

阅读数:1026

评论数:0

[Dsu on tree]CodeForces 600 E

题目描述给出一个树,树的每个节点有一个颜色。询问每个节点颜色最多的颜色编号和。解题思路树上启发式合并?考虑暴力,对于每个节点暴力遍历,之后删除该子树的贡献。不然发现有些删除没有必要,贪心的思想,对于每棵子树保留重儿子的贡献。所以操作为:遍历所有轻儿子不保留贡献,遍历重儿子保留贡献,遍历轻儿子增加贡...

2017-12-19 19:32:27

阅读数:115

评论数:0

[最小割]BZOJ 3175—— [Tjoi2013]攻击装置

题目描述给定一个矩阵,这个矩阵上有一些位置可以放置装置。装置会日字形互相攻击,求最多可放置多少个装置。解题思路因为日字形相互攻击的两个点肯定满足一个坐标和是奇数,另一个是偶数。将矩阵看成零一奇偶矩阵,那么互相攻击的装置可以形成一个二分图。答案显然是总数-最小割。怎么思考?最小割不存在同时选择两个装...

2017-12-13 20:51:59

阅读数:324

评论数:1

[点分治]BZOJ 2152——聪聪可可

题目描述给出一棵有边权的树。求边权和%3=0的路径数。解题思路累计以每个点为路径LCA的方案数,所以直接点分就好了。累计方法为分别找出距离某个点路径和为0,1,2的方案数,返回2∗t[1]∗t[2]+t[0]∗t[0]2*t[1]*t[2]+t[0]*t[0]然后减去所以子树方案就是当前方案。#i...

2017-12-12 20:17:40

阅读数:295

评论数:0

[虚树+树形DP]BZOJ 2286—— [Sdoi2011]消耗战

题目梗概给出一棵有比边权的树。每次给出K个点,询问使这K个点不与1联通所需要砍掉的边权总和最小值。解题思路假如只有一次询问,显然可以用树形DP解决,f[i]f[i]表示使i的子树下所有特殊点与1不连通的最小代价,转移状态显然。但是多次询问会超时,但是∑K\sum K与n同阶,所以就变成虚树的裸题。...

2017-12-12 18:21:40

阅读数:199

评论数:0

[基环外向树+树形DP]BZOJ 1040—— [ZJOI2008]骑士

题目描述有n个骑士,每个骑士有一个不想一起组队的人。每个骑士还有一个战斗力,求战斗力最大的队伍。解题思路把每个骑士和不想组队的骑士之间连边,会形成一堆基环外向树形成的森林。假设每个联通块是树,边数=n-1,显然不符合。假设每个联通块存在两个及以上的简单环,边数>n,也不符合。所以图必然是基环...

2017-12-11 19:04:41

阅读数:246

评论数:0

[二分+DFS序上DP]BZOJ 4753—— [Jsoi2016]最佳团体

题目梗概题目给定一棵树,选K个节点。任意节点满足如果它被选其父亲也必须被选。使得价值与花费之比最大。解题思路这类题目显然是要二分的。最初的想法,在树上进行左儿子右父亲DP合并,这样每次check的效率是O(n^2)。但是怎么卡就是不过(我下面给出的就是树上合并的代码)。我将其归结为常数过大,记住其...

2017-12-05 20:19:11

阅读数:355

评论数:0

[树形DP+贪心]BZOJ 1217—— [HNOI2003]消防局的设立 Plus?

题目描述给出一棵树。你可以设置一个特殊节点,距离这个节点小于等于2的节点被覆盖。求覆盖所有节点所需的最小特殊节点数。解题思路这题是51 Nod 夹克老爷的愤怒的弱化版。51Nod上的那题将范围推广至于n同阶的级别。主要就是利用贪心进行树形DP。#include<cstdio> usin...

2017-12-03 21:21:52

阅读数:97

评论数:0

[数学杂题]BZOJ 2111—— [ZJOI2010]Perm 排列计数

题目梗概求[1,n]有多少个排列满足Pi>Pi/2P_i>P_{i/2}解题思路不难发现排列构成一个小根堆,因此树形可以确定。然后用f[i]f[i]表示以第i个节点为根的方案数。转移方程不难得出。最主要的是这题虽然P很大但是依然要用Lucas,为什么呢?因为处理n的阶乘时到后面%P会变...

2017-12-03 20:51:34

阅读数:293

评论数:0

[Lucas定理+中国剩余定理]1951—— [Sdoi2010]古代猪文

题目梗概求G∑d|n(nd)%PG^{\sum _{d|n} (^n_d)}\%P解题思路由欧拉定理可得原式=G∑d|n(nd)%ϕ(P)%P=G^{\sum _{d|n} (^n_d)\%\phi(P)}\%P(nd)(^n_d)由Lucas定理可得,然后ϕ(P)=999911658=2∗3∗4...

2017-12-03 19:41:29

阅读数:281

评论数:0

[模拟退火]POJ 2420——A Star not a Tree

题目描述给定n个点,求关于这个n个点的广义费马点。题目梗概必须折服于先人的智慧。初值随便给个位置,每次随机一个角度走温度的距离。概率函数为eΔ/Te^{Δ/T}。过了之后感觉非常神奇。#include<cstdio> #include<cmath> #include<...

2017-11-28 21:08:20

阅读数:413

评论数:0

[Splay]BZOJ 1208——[HNOI2004]宠物收养所

题目描述最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a<2^31),而他也给每个处在收养所的宠物...

2017-11-27 20:20:42

阅读数:309

评论数:0

[主席树]BZOJ 3524——[Poi2014]Couriers

题目描述给一个长度为n的序列a。1≤a[i]≤n。 m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2。如果存在,输出这个数,否则输出0。解题思路直接上主席树。构造权值线段树,询问时不停遍历节点数最多的一边就可以了。但是要注意:最后停下的节点并不是...

2017-11-26 21:12:57

阅读数:298

评论数:0

[左偏树]BZOJ 2809——[Apio2012]dispatching

题目描述在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。在这个帮派里,有一名忍者被称之为 Master。除了 Master以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给他的直接下属,而不允许通过其他的方式发送。...

2017-11-26 21:06:41

阅读数:300

评论数:0

[树状数组]51 Nod 1463——找朋友

题目描述给定:两个长度为n的数列A 、B一个有m个元素的集合K询问Q次每次询问[l,r],输出区间内满足|Bi-Bj|∈K 的最大Ai+Aj解题思路注意这题M的范围是10离线一下,对于每个新加的元素用树状数组暴力维护就可以了。#include<cstdio> #include<a...

2017-10-29 18:42:57

阅读数:395

评论数:0

[单调队列]51 Nod 1952——栈

[单调队列]51 Nod 1952——栈题目梗概要维护一个栈。能够从栈顶和栈底加数,并能从栈顶取数。询问每次操作后栈里的最大元素。解题思路维护一个单调递减的单调队列就可以了。但是要注意统计每个元素前面有几个未删的比当前元素小的元素个数。#include<cstdio> using na...

2017-10-29 18:38:46

阅读数:382

评论数:0

[容斥原理+组合数学]51 Nod 1829——函数

题目描述想知道f:A->B这个函数(其中|A|=n, |B|=m)的所有映射关系要使B的每个元素都要被A的一个元素覆盖到。数字可能很大你只要输出方案数模1,000,000,007即可。解题思路一看就是要用到容斥原理。有ii个B元素没被覆盖的方案数为Cim∗(m−i)NC^{i}_{m}*{(...

2017-10-29 18:31:28

阅读数:844

评论数:0

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