![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM/ICPC_ BZOJ
just_sort
Acdream.
展开
-
BZOJ 1025 游戏【置换群】
【题意】略,中文题可自己查看!【分析】在做题之前介绍一下置换群的基本概念。。。置换的概念是什么?一个有限集合的一一变换叫做置换,一对对置换组成了置换群。对于一个集合a(a[1],a[2],a[3]...a[n]) 通过置换可以变成 (b[a[1]],b[a[2]],b[a[3]]...b[a[n]]) b的作用就是置换(可以理解为某种函数的作用),将原来的集合映射成具有相应次序的集合a',a'原创 2016-05-03 20:42:15 · 625 阅读 · 0 评论 -
bzoj 2427 && codevs 1866 tarjian缩点+树形dp
【题意】2427: [HAOI2010]软件安装Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 929 Solved: 371[Submit][Status][Discuss]Description现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台原创 2016-08-17 09:09:21 · 954 阅读 · 2 评论 -
BZOJ 3809 Gty的二逼妹子序列
【题意】莫队加树状数组的做法很显然,解法借鉴HZWER大牛,这道题可以这样做,考虑对权值分块,这样使得每次查询复杂度变为√n,而修改的复杂度变为O1总复杂度降为m√n,其实我自己一直没怎么想懂这个问题,感觉这个复杂度确实没优化多少。【AC 代码】#include #include #include #include #include using namespace std;原创 2016-08-08 15:58:11 · 452 阅读 · 0 评论 -
BZOJ 4668 冷战
Description1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕。美国和苏联同为世界上的“超级大国”,为了争夺世界霸权,两国及其盟国展开了数十年的斗争。在这段时期,虽然分歧和冲突严重,但双方都尽力避免世界范围的大规模战争(第三次世界大战)爆发,其对抗通常通过局部代理战争、科技和军备竞赛、太空竞争、外交竞争等“冷原创 2016-08-19 18:53:09 · 702 阅读 · 1 评论 -
BZOJ 4653: [Noi2016]区间
Description在数轴上有 n个闭区间 [l1,r1],[l2,r2],...,[ln,rn]。现在要从中选出 m 个区间,使得这 m个区间共同包含至少一个位置。换句话说,就是使得存在一个 x,使得对于每一个被选中的区间 [li,ri],都有 li≤x≤ri。对于一个合法的选取方案,它的花费为被选中的最长区间长度减去被选中的最短区间长度。区间 [li,ri] 的长度定义为 ri−原创 2016-08-19 20:39:14 · 1084 阅读 · 0 评论 -
Bzoj 1901 Dynamic Rankings
【题意】Description给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改变后的a继续回答上面的问题。你需要编一个这样的程序,从输入文件中读入序列a,然后读入一系列的指原创 2016-08-22 10:25:19 · 645 阅读 · 0 评论 -
BZOJ 1101: [POI2007]Zap 莫比乌斯反演
Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d。作为FGD的同学,FGD希望得到你的帮助。 Input 第一行包含一个正整数n,表示一共有n组询问。(1<=n<= 50000)接下来n行,每行表示一个询问,每行三个 正整数,分别为a,b,d。(1<=d<=a,b<=原创 2017-02-04 21:55:04 · 408 阅读 · 0 评论 -
BZOJ 1102: [POI2007]山峰和山谷Grz FloodFill 算法
Description FGD小朋友特别喜欢爬山,在爬山的时候他就在研究山峰和山谷。为了能够让他对他的旅程有一个安排,他想 知道山峰和山谷的数量。给定一个地图,为FGD想要旅行的区域,地图被分为n*n的网格,每个格子(i,j) 的高度w( i,j)是给定的。若两个格子有公共顶点,那么他们就是相邻的格子。(所以与(i,j)相邻的格子有(i?1, j?1),(i?1 ,j),(i?1,j+1),原创 2017-02-05 14:56:00 · 751 阅读 · 0 评论 -
BZOJ 1103: [POI2007]大都市meg 树链剖分, 树状数组+DFS序
Description 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了。 不过,她经常回忆起以前在乡间漫步的情景。昔日,乡下有依次编号为1..n的n个小村庄,某些村庄之间有一些双 向的土路。从每个村庄都恰好有一条路径到达村庄1(即比特堡)。并且,对于每个村庄,它到比特堡的路径恰好 只经过编号比它的编号小的村庄。另外,对于所有道路而言,原创 2017-02-05 17:03:38 · 401 阅读 · 0 评论 -
BZOJ 1104: [POI2007]洪水pow 并查集
Description AKD市处在一个四面环山的谷地里。最近一场大暴雨引发了洪水,AKD市全被水淹没了。Blue Mary,AKD市的市 长,召集了他的所有顾问(包括你)参加一个紧急会议。经过细致的商议之后,会议决定,调集若干巨型抽水机, 将它们放在某些被水淹的区域,而后抽干洪水。你手头有一张AKD市的地图。这张地图是边长为m*n的矩形,被划分 为m*n个1*1的小正方形。对于每个小正方形原创 2017-02-07 16:01:13 · 975 阅读 · 0 评论 -
BZOJ 1106 POI2007 立方体大作战tet 模拟
Description 一个叫做立方体大作战的游戏风靡整个Byteotia。这个游戏的规则是相当复杂的,所以我们只介绍他的简单规 则:给定玩家一个有2n个元素的栈,元素一个叠一个地放置。这些元素拥有n个不同的编号,每个编号正好有两个 元素。玩家每次可以交换两个相邻的元素。如果在交换之后,两个相邻的元素编号相同,则将他们都从栈中移除, 所有在他们上面的元素都会掉落下来并且可以导致连锁反应。玩家原创 2017-02-07 16:36:30 · 751 阅读 · 0 评论 -
BZOJ 1109: [POI2007]堆积木Klo 神分析, LIS, BIT, 二分
Description Mary在她的生日礼物中有一些积木。那些积木都是相同大小的立方体。每个积木上面都有一个数。Mary用他的 所有积木垒了一个高塔。妈妈告诉Mary游戏的目的是建一个塔,使得最多的积木在正确的位置。一个上面写有数i 的积木的正确位置是这个塔从下往上数第i个位置。Mary决定从现有的高塔中移走一些,使得有最多的积木在正确 的位置。请你告诉Mary她应该移走哪些积木。 In原创 2017-02-07 20:05:58 · 499 阅读 · 0 评论 -
1110: [POI2007]砝码Odw 进制拆分,贪心
Description 在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件恼人的工作。公司有一些固定容 量的容器可以装这些砝码。他们想装尽量多的砝码以便搬运,并且丢弃剩下的砝码。每个容器可以装的砝码数量有 限制,但是他们能够装的总重量不能超过每个容器的限制。一个容器也可以不装任何东西。任何两个砝码都有一个 特征,他们的中总有一个的重量是另外一个的整数倍,当然他们也可原创 2017-02-07 20:51:55 · 425 阅读 · 0 评论 -
BZOJ 1452 [JSOI2009] Count
题目链接:见这里 解题方法: 二维树状数组,对每个颜色建一个二维树状数组。 代码如下:#include <bits/stdc++.h>using namespace std;#define lowbit(x) x&(-x)int maze[305][305];int c[110][305][305];int n, m, q;void update(int x, int y, int c原创 2017-01-17 15:21:59 · 303 阅读 · 0 评论 -
BZOJ 1010: [HNOI2008]玩具装箱toy
题意: Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压 缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1…N的N件玩具,第i件玩具经过 压缩后变成一维长度为Ci.为了方便整理,P教授要求在一个一维容器中的玩具编号是连续的。同时如果一个一维容 器中有多个玩具,那么两件玩具之间要加入一个单位长度原创 2017-01-17 16:02:45 · 310 阅读 · 0 评论 -
BZOJ 1002: [FJOI2007]轮状病毒
题意: Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的。一个N轮状基由圆环上N个不同的基原子 和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道。如下图所示 N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不 同的3轮状病毒,如下图所示 现给定n(N<=100),编程计算有多少原创 2017-01-17 16:45:05 · 361 阅读 · 0 评论 -
1146: [CTSC2008]网络管理Network 树套树,二分,树剖
[Submit][Status][Discuss] Description M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门。为了让分布在世界各地的N个 部门之间协同工作,公司搭建了一个连接整个公司的通信网络。该网络的结构由N个路由器和N-1条高速光缆组成。 每个部门都有一个专属的路由器,部门局域网内的所有机器都联向这个路由器,然后再通过这个通信子网与其他部 门进原创 2017-02-16 21:20:02 · 499 阅读 · 0 评论 -
BZOJ 1003: [ZJOI2006]物流运输
题意: Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般要转 停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和跟踪。由于各种 因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货物能够按时到达目的地。但是 修改路线是一件十分麻烦的事情,会带来额外的成本。因此物流原创 2017-01-17 18:50:08 · 474 阅读 · 0 评论 -
BZOJ 1005 明明的烦恼 Prufer序列+组合数学+ 暴力分解质因子
Description 自从明明学了树的结构,就对奇怪的树产生了兴趣……给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生多少棵度数满足要求的树? Input 第一行为N(0 < N < = 1000), 接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1 Output 一个整数,表示不同的满足要求的树的个数,无解输出0 Sample原创 2017-01-17 20:13:02 · 701 阅读 · 0 评论 -
BZOJ 1111: [POI2007]四进制的天平Wag 进制拆分,DP求方案数
DescriptionMary准备举办一个聚会,她准备邀请很多的人参加她的聚会。并且她准备给每位来宾准备一些金子作为礼物。为了不伤及每个人的脸面,每个人获得的金子必须相同。Mary将要用一个天平来称量出金子。她有很多的砝码,所有砝码的质量都是4的幂。Mary将金子置于左边并且将砝码置于右盘或者两个盘。她希望每次称量都使用最少的砝码。并且,他希望,每次都用不同的称量方法称出相同质量的金子。对于给定的质原创 2017-02-08 20:11:45 · 423 阅读 · 0 评论 -
BZOJ 1112: [POI2008]砖块Klo 平衡树,思维,枚举
DescriptionN柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任务. Input第一行给出N,K. (1 ≤ k ≤ n ≤ 100000), 下面N行,每行代表这柱砖的高度.0 ≤ hi ≤ 1000000 Output最小的动作次数 Sampl原创 2017-02-08 22:05:51 · 462 阅读 · 0 评论 -
BZOJ 1006 神奇的国度 弦图 最大势算法
题意: K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即AB相互认识,BC相互认识,CA 相互认识,是简洁高效的.为了巩固三角关系,K国禁止四边关系,五边关系等等的存在.所谓N边关系,是指N个人 A1A2 …An之间仅存在N对认识关系:(A1A2)(A2A3)…(AnA1),而没有其它认识关系.比如四边关系指ABCD四个人 AB,BC,C D,DA相互认识,而AC原创 2017-01-17 22:34:23 · 796 阅读 · 0 评论 -
BZOJ-1007-水平可见直线-HN2008
Description 在xoy直角坐标平面上有n条直线L1,L2,…Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为 可见的,否则Li为被覆盖的. 例如,对于直线: L1:y=x; L2:y=-x; L3:y=0 则L1和L2是可见的,L3是被覆盖的. 给出n条直线,表示成y=Ax+B的形式(|A|,|B|<=500000),且n条直线两两不重合.求出所有可见的直线原创 2017-01-17 23:21:58 · 253 阅读 · 0 评论 -
BZOJ 1008 越狱 组合数学
Description 监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果 相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10^12 Output 可能越狱的状态数,模100003取余 Sample Input 2 3 Sample Output原创 2017-01-18 09:09:05 · 288 阅读 · 0 评论 -
BZOJ 1009 KMP,DP,矩阵快速幂
Description 阿申准备报名参加GT考试,准考证号为N位数X1X2….Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字。 他的不吉利数学A1A2…Am(0<=Ai<=9)有M位,不出现是指X1X2…Xn中没有恰好一段等于A1A2…Am. A1和X1可以为 0 Input 第一行输入N,M,K.接下来一行输入M位的数。 N<=10^9,M<=20,K<=1000 Out原创 2017-01-18 10:36:00 · 308 阅读 · 0 评论 -
BZOJ 1011 遥远的行星 误差分析
Description 直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j= Mi*Mj/(j-i) 其中A为很小的常量,故直观上说每颗行星都只受到距离遥远的行星的作用。请计算每颗行星的受力 ,只要结果的相对误差不超过5%即可. Input 第一行两个整数N和A. 1<=N<=10^5.0.01< a < =0.35,接下来原创 2017-01-18 11:08:00 · 573 阅读 · 0 评论 -
BZOJ 1012 最大数maxnumber 单调队列或线段树
Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L 个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加 上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取 模,将所得答案插入到数列的末尾。限制:n是非负整原创 2017-01-18 12:37:05 · 314 阅读 · 0 评论 -
BZOJ 1013 球形空间产生器 高斯消元
Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体。现在,你被困在了这个n维球体中,你只知道球 面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁这个球形空间产生器。 Input 第一行是一个整数n(1<=N=10)。接下来的n+1行,每行有n个实数,表示球面上一点的n维坐标。每一个实数精确到小数点 后6位,且其绝对值都不超过2000原创 2017-01-18 13:32:58 · 421 阅读 · 0 评论 -
BZOJ 1015 星球大战 离线并查集 好题
Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系。某一天,凭着一个偶然的 机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球。这些星球通过特殊的以太隧道互相直 接或间接地连接。 但好景不长,很快帝国又重新造出了他的超级武器。凭借这超级武器的力量,帝国开始有计划 地摧毁反抗军占领的星球。由于星球的不断被摧毁,两个星球之间的通讯通道原创 2017-01-18 16:20:26 · 749 阅读 · 0 评论 -
BZOJ 1019 汉诺塔 数学 递推
Description 汉诺塔由三根柱子(分别用A B C表示)和n个大小互不相同的空心盘子组成。一开始n个盘子都摞在柱子A上, 大的在下面,小的在上面,形成了一个塔状的锥形体。 对汉诺塔的一次合法的操作是指:从一根柱子的最上层拿一个盘子放到另一根柱子的最上层,同时要保证被移 动的盘子一定放在比它更大的盘子上面(如果移动到空柱子上就不需要满足这个要求)。我们可以用两个字母来描 述一次操作:原创 2017-01-18 20:30:44 · 552 阅读 · 0 评论 -
BZOJ 1150: [CTSC2007]数据备份Backup 堆,贪心
题意: 有n栋楼排成一排,要求在k对楼之间连接电缆,每栋楼只能被连接一次,求最小的∑|dis[x]−dis[y]|.x,y分别为电缆的两个端点。n<=100000 解题方法: 显然k对电缆连接的必然都是相邻的两栋楼,那么问题可以转换成有n-1个数,a[i]=dis[i+1]-dis[i],从中取出k个数满足其互不相邻且和最小。那么就可以用贪心来做。每次找一个最小的,假设是x,那么x+1和x-1要么原创 2017-02-18 10:33:13 · 436 阅读 · 0 评论 -
BZOJ 2288: 【POJ Challenge】生日礼物 贪心,堆 BZOJ 1150强化
题意: 给出一个长度为n的数列,要求从中取出不超过m段连续的数,使其和最大。 n<=100000解题方法: 这题可以把一段同号的数并成一个数,那么就变成了一个正负交替的序列,然后把头尾的负数去掉。 有一种想法就是把所有的正值都加起来,然后把所有数的绝对值加进优先队列,每次去一个最小的出来然后减掉,最后的即为答案。 为什么是正确的呢?因为如果减去的值在原数列中为正则相当于不要这个数,否则就相原创 2017-02-18 11:32:56 · 449 阅读 · 0 评论 -
BZOJ 小约翰的游戏John 反尼姆博弈
Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取 的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取,我们规定取到最后一 粒石子的人算输。小约翰相当固执,他坚持认为先取的人有很大的优势,所以他总是先取石子,而他的哥哥就聪明 多了,他从来没有在游戏中犯过错误。小约翰一怒之前请你来做他的参谋。自原创 2017-01-18 22:16:00 · 310 阅读 · 0 评论 -
BZOJ 1024 生日快乐 搜索 DFS
Description windy的生日到了,为了庆祝生日,他的朋友们帮他买了一个边长分别为 X 和 Y 的矩形蛋糕。现在包括windy ,一共有 N 个人来分这块大蛋糕,要求每个人必须获得相同面积的蛋糕。windy主刀,每一切只能平行于一块蛋糕 的一边(任意一边),并且必须把这块蛋糕切成两块。这样,要切成 N 块蛋糕,windy必须切 N-1 次。为了使得 每块蛋糕看起来漂亮,我们要求 N原创 2017-01-18 22:54:45 · 394 阅读 · 0 评论 -
BZOJ 1025 分组背包 置换
Description windy学会了一种游戏。对于1到N这N个数字,都有唯一且不同的1到N的数字与之对应。最开始windy把数字按 顺序1,2,3,……,N写一排在纸上。然后再在这一排下面写上它们对应的数字。然后又在新的一排下面写上它们 对应的数字。如此反复,直到序列再次变为1,2,3,……,N。 如: 1 2 3 4 5 6 对应的关系为 1->2 2->3 3->1 4->5 5->原创 2017-01-19 09:40:08 · 322 阅读 · 0 评论 -
BZOJ 1026 windy数 数位DP模板题
Description windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道, 在A和B之间,包括A和B,总共有多少个windy数? Input 包含两个整数,A B。 Output 一个整数 Sample Input 【输入样例一】1 10【输入样例二】25 50 Sample Output 【输出样例一】9【输出原创 2017-01-19 10:04:36 · 284 阅读 · 0 评论 -
BZOJ 1027 合金 计算几何,Floyd判环
Description 某公司加工一种由铁、铝、锡组成的合金。他们的工作很简单。首先进口一些铁铝锡合金原材料,不同种类的 原材料中铁铝锡的比重不同。然后,将每种原材料取出一定量,经过融解、混合,得到新的合金。新的合金的铁铝 锡比重为用户所需要的比重。 现在,用户给出了n种他们需要的合金,以及每种合金中铁铝锡的比重。公司希望能 够订购最少种类的原材料,并且使用这些原材料可以加工出用户需要的所有原创 2017-01-19 11:31:35 · 381 阅读 · 0 评论 -
BZOJ 1028
题目链接: 这里写链接内容 解题方法: 看到n的范围似乎比较小,所以我们可以枚举加入一张牌,然后判断能不能胡。判断的时候依然枚举每一个作为对子,然后扫一遍判断,每一张牌优先考虑组成刻,再考虑于后面的组成顺!复杂度O(n^3)代码如下:#include <bits/stdc++.h>using namespace std;#define rep(i, a, b) for(int i = a;原创 2017-01-19 13:30:58 · 324 阅读 · 0 评论 -
BZOJ 1029: [JSOI2007]建筑抢修 堆,贪心,排序
Description 小刚在玩JSOI提供的一个称之为“建筑抢修”的电脑游戏:经过了一场激烈的战斗,T部落消灭了所有z部落的 入侵者。但是T部落的基地里已经有N个建筑设施受到了严重的损伤,如果不尽快修复的话,这些建筑设施将会完全 毁坏。现在的情况是:T部落基地里只有一个修理工人,虽然他能瞬间到达任何一个建筑,但是修复每个建筑都需 要一定的时间。同时,修理工人修理完一个建筑才能修理下一个建筑原创 2017-01-19 14:09:28 · 535 阅读 · 0 评论 -
BZOJ 1030: [JSOI2007]文本生成器 DP,AC自动机
Description JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群, 他们现在使用的是GW文本生成器v6版。该软件可以随机生成一些文章―――总是生成一篇长度固定且完全随机的文 章—— 也就是说,生成的文章中每个字节都是完全随机的。如果一篇文章中至少包含使用者们了解的一个单词, 那么我们说这篇文章是可读的(我们称文章a包含单词b,当且仅原创 2017-01-19 15:38:14 · 628 阅读 · 0 评论