03 2019 档案
摘要:<题目链接> 题目大意: 有$n$个人排成一排要上台表演,每个人有一个屌丝值$pi$。第i个上台表演的人,他的不满意度为$(i-1)*p_i$。现在有一个类似于栈的黑屋子,你可以让某些人进入这个黑屋子。这些人要按照初始顺序来调整,对于排在最前面的人,有两种选择,让他直接上场或者先让他入栈。现在请你选
        阅读全文
            
                posted @ 2019-03-31 15:54  
悠悠呦~
    
            
        
该文被密码保护。
            
                posted @ 2019-03-31 15:18  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 有m条无向边,现在把一些边改成有向边,使得所有的点还可以互相到达。输出改变后的图的所有边(无向边当成双向的有向边输出)。 解题分析: 因为修改边后,所有点仍然需要相互可达,所以原无向图中所有的割边仍然只能是双向边,而对于双连通分量中的边,可以将其中的一些边删除。不难想到,在
        阅读全文
            
                posted @ 2019-03-30 23:11  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:有一个养猪场,厂长没有钥匙,这个养猪场一共M个猪圈,N个顾客,每个顾客有一些猪圈的钥匙,每个顾客需要一些猪,问你厂长最多能卖多少猪?这里有个条件是,厂长可以在一个顾客买完后,调整没有锁门的猪圈中猪数量,比如,把几个猪圈中的猪全部转到一个猪圈内(这个条件会影响到后期建图),然后
        阅读全文
            
                posted @ 2019-03-29 14:42  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 给定一颗树,求出树的直径。 解题分析:树的直径模板题,以下程序分别用树形DP和两次BFS来求解。 树形DP: BFS
        阅读全文
            
                posted @ 2019-03-27 17:51  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:一个DAG图有n个点,m条边,走过每条边都会花费一定的时间,问你在不超过T时间的条件下,从1到n点最多能够经过几个节点。 解题分析:对这个有向图,我们进行拓扑排序,并且在拓扑排序的过程中,用dp来进行状态的转移,$dp[i][j]$表示,在以$i$为终点的且经过$j$个点的路
        阅读全文
            
                posted @ 2019-03-27 12:29  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 给你一棵树,进行q次询问,每次询问问你以这个点为根的子树的重心是哪个节点。 解题分析: 首先做本题需要知道一个结论:以x为根的子树的重心,一定在以x的重儿子为根的子树的重心与x的连线上,所以我们就先处理出所有点的重儿子,之后再求解每个子树的重心。重心的求法就是,从该节点重儿
        阅读全文
            
                posted @ 2019-03-27 12:27  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:给出一个01矩阵,行与行之间可以互换位置,问能够得到最大的全1矩阵的面积。
        阅读全文
            
                posted @ 2019-03-25 23:04  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如
        阅读全文
            
                posted @ 2019-03-25 14:56  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集
        阅读全文
            
                posted @ 2019-03-21 22:05  
悠悠呦~
    
            
        
该文被密码保护。
            
                posted @ 2019-03-20 23:51  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:给你$n$段区间,$a_i,b_i,c_i$ 表示在 $[a_i,b_i]$ 区间内至少要选择$c_i$个点。现在问你在满足这n个条件的情况下,最少要选多少个点? 解题分析: 经典的差分约束。本问题需要满足的不等式有:$s[b[i]]-s[a[i]-1]\geq c[i],0
        阅读全文
            
                posted @ 2019-03-19 13:04  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 给定数字n,让你将其分成合数相加的形式,问你最多能够将其分成几个合数相加。 解题分析: 因为要将其分成合数相加的个数最多,所以自然是尽可能地将其分成尽可能小的合数相加的形式。通过找规律,我们能够发现,所有的偶数都能够分成4和6这两个合数的组合,而所有的奇数,在减去9这个最小
        阅读全文
            
                posted @ 2019-03-15 21:00  
悠悠呦~
    
            
        
该文被密码保护。
            
                posted @ 2019-03-15 19:54  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:一个迷宫,给定一个起点和终点,以及一些障碍物,所有的点走过一次后就不能再走(该点会下陷)。现在问你,是否能从起点在时间恰好为t的时候走到终点。 解题分析:本题恰好要在某一时刻到达,所以需要用到可行性剪枝中的奇偶剪枝,如果在某一点,它所剩的步数与到终点的最短距离之差是偶数,说明
        阅读全文
            
                posted @ 2019-03-14 15:33  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:在一个棋盘上给定一个起点和终点,判断这两点是否能通过连线连起来,规定这个连线不能穿过其它的棋子,并且连线转弯不能超过2次。 解题分析:就是DFS从起点开始搜索,只不过搜索的时候需要记录当前的方向和已经转弯的次数,然后通过题目给定的限制条件进行搜索,判断是否存在从起点到终点转弯
        阅读全文
            
                posted @ 2019-03-14 10:56  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:给你一些点的最大度数,让你构造一张图,使得该图的直径最长,输出对应直径以及所有的边。 解题分析:一道比较暴力的构造题,首先,我们贪心的想,要使图的直径最长,肯定是尽可能的将所有的顶点连在同一条链上,并且,所有度数为1的点都只能作为最外围的点。所以,基本思想就是先将两个度为1的
        阅读全文
            
                posted @ 2019-03-13 12:28  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: Island 是有一些奇怪的城镇和道路构成的(题目需要,游戏党勿喷),有些城镇之间用双向道路连接起来了,且每条道路有它自己的距离。但是有一些城镇已经被派兵戒严,虽然主角可以逆天改命强闯,但是为了体验该游戏的平衡性,他们只能穿过不超过 K 次被戒严的城镇。 定义“穿过”:从一
        阅读全文
            
                posted @ 2019-03-12 12:09  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 进行两种操作:1.给定一个数的出现时间、价值、消失时间; 2.进行一次询问,问你当前时间,第K大的数的价值。 解题分析: 采用离线集中处理,将每个数的出现时间和它的消失时间分组存下,并且存下所有的询问。然后就是依次进行所有询问,将这些询问时间点之前的点插入,将已经消失的点删
        阅读全文
            
                posted @ 2019-03-11 23:46  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:Rinne 学到了一个新的奇妙的东西叫做动态图,这里的动态图的定义是边权可以随着操作而变动的图。当我们在这个图上经过一条边的时候,这个图上所有边的边权都会发生变动。定义变动函数 f(x)=1/(1−x),表示我们在图上走过一条边后,图的边权变动情况。这里指的“图的变动”的意思
        阅读全文
            
                posted @ 2019-03-11 22:21  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 一个 $n$ 个节点 $m$ 条边的无向连通图,每条边有一个边权 $w_i$。现在她想玩一个游戏:选取一个 “重要点” S,然后选择性删除一些边,使得原图中所有除 S 之外度为 1 的点都不能到达 S。定义删除一条边的代价为这条边的边权,现在 Rinne 想知道完成这个游戏
        阅读全文
            
                posted @ 2019-03-11 01:21  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:给你一个由01组成的矩形,现在问你,该矩形中,最多只含一个1的正方形的边长最长是多少。 解题分析: 用二维前缀和维护一下矩形的01值,便于后面直接$O(1)$查询任意子矩阵中1的个数,然后就是二分答案枚举边长。
        阅读全文
            
                posted @ 2019-03-10 00:12  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:FJ想按照奶牛产奶的能力给她们排序。现在已知有N头奶牛$(1 ≤ N ≤ 1,000)$。FJ通过比较,已经知道了M$1 ≤ M ≤ 10,000$对相对关系。每一对关系表示为“X Y”,意指X的产奶能力强于Y。现在FJ想要知道,他至少还要调查多少对关系才能完成整个排序。 解
        阅读全文
            
                posted @ 2019-03-07 22:26  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:用用邻接矩阵表示一个有向图,现在让你求其中三元环的数量。 解题分析:先预处理得到所有能够直接到达每个点的集合$arrive[N]$和所有能够由当前点到达的集合$to[N]$。然后就是枚举三元环中的两个点$a,b$,然后再求$arrive[a]$与$to[b]$的交集,因为三元
        阅读全文
            
                posted @ 2019-03-07 21:26  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 一个人要打开或者用炸弹砸开所有的门,每个门后面有一些钥匙,一个钥匙对应一个门,告诉每个门里面有哪些门的钥匙。如果要打开所有的门,问需要用的炸弹数量为多少。 解题分析:因为许多门和他们之后的钥匙可能形成闭包的关系,所以,对于所有的闭包而言,只需要炸毁其中的一个门,就可以用其后
        阅读全文
            
                posted @ 2019-03-06 22:58  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 在一个节点标号为1~n的无向图中,求出一条1~n的路径,使得路径上的第K+1条边的边权最小。 解题分析:直接考虑情况比较多,所以我们采用二分答案,先二分枚举第K+1条路的边权,然后根据枚举的边权,重新建图。因为john只需要支付除K条边之后权值最大的边,所以对于所有边权小于
        阅读全文
            
                posted @ 2019-03-06 20:37  
悠悠呦~
    
            
        
摘要:<题目链接> 度度熊决定每天都在星星小姐的贴吧里面签到。 但是度度熊是一个非常健忘的孩子,总有那么几天,度度熊忘记签到,于是就断掉了他的连续签到。 不过度度熊并不是非常悲伤,因为他有m张补签卡,每一张补签卡可以使得某一忘签到的天,变成签到的状态。 那么问题来了,在使用最多m张补签卡的情况下,度度熊最
        阅读全文
            
                posted @ 2019-03-04 20:43  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 给定一个整数序列,求出绝对值小于等于k的有序对个数。 解题分析: $O(nlong(n))$的二分很好写,这里就不解释了。本题尺取$O(n)$也能做,并且效率很不错。 尺取: #include <bits/stdc++.h> using namespace std; int
        阅读全文
            
                posted @ 2019-03-04 00:33  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:给定一个只由26个小写字母组成的字符串,现在问你至少包含k个不同字母的连续子序列总数有多少。 解题分析:经仔细研究,我们发现,每次尺取到符合要求的最小区间,然后将区间的右端点一直移动到字符串的末尾,右端点每移动一位,又能组成一个符合条件的字符串序列,并且,因为每次尺取的过程中
        阅读全文
            
                posted @ 2019-03-03 16:00  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 给你一段长度为n的整数序列,并且给出一个整数S,问你这段序列中区间之和大于等于S的最短区间长度是多少。 解题分析:本题可以用二分答案做,先求出前缀和,然后枚举区间长度,然后再判断其是否合法即可,复杂度$O(nlog(n))$。同时,尺取法也是一个不错的选择,通过不断的移动区
        阅读全文
            
                posted @ 2019-03-03 15:04  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意:给定一个序列,现在求出两段不相交的区间异或和的最大值。 解题分析: 区间异或问题首先想到01字典树。利用前缀、后缀建树,并且利用异或的性质,相同的两个数异或变成0,从而将前缀操作转化为区间操作,比如:$(a_1 \oplus a_2)\oplus(a_1 \oplus a_2
        阅读全文
            
                posted @ 2019-03-02 20:21  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 给定一个数字序列,让你从中找出三个不同的数,从而求出:$\max_{i,j,k} (s_i+s_j) \oplus s_k$的值。 解题分析:先建好01字典树,然后枚举两个不同的数,从字典树中删除这两个数,然后进行匹配,找到能够使 $ (s_i+s_j) \oplus s_
        阅读全文
            
                posted @ 2019-03-02 12:45  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 给定n个数,进行m次查找,每次查找输出n个数中与给定数异或结果最大的数。 解题分析: 01字典树模板题,01字典树在求解异或问题上十分高效。利用给定数据的二进制数进行建树,然后在查找的时候,利用贪心的策略,优先寻找与当前位数的0、1值不同的路线,从而达到异或值最大的目的。 
        阅读全文
            
                posted @ 2019-03-02 10:35  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 给定两个长度为n的序列,可以改变第二个序列中数的顺序,使得两个序列相同位置的数异或之后得到的新序列的字典序最小。 解题分析: 用01字典树来解决异或最值问题。因为是改变第二个序列的顺序,即按照第一个序列的顺序输出异或结果,所以我们将第二个序列建树。然后用第一个序列在树上进行
        阅读全文
            
                posted @ 2019-03-01 23:55  
悠悠呦~
    
            
        
摘要:<题目链接> 题目大意: 给定一个连通图,每个点有点权,现在需要删除一条边,使得整张图分成两个连通块,问你删除这条边后,两联通块点权值和差值最小是多少。 解题分析: 删除一条边,使原连通图分成两个连通分量,所以删除的那条边必然是桥。为了得到所有的桥,我们对原图进行边双连通图缩点。然后对缩点后的新图,
        阅读全文
            
                posted @ 2019-03-01 23:12  
悠悠呦~
    
            
        
摘要:<题目链接> 以下内容转自李煜东的《算法竞赛进阶指南》 题目大意:现在给定一张连通的无向图,不包含重边。现在输出$n$个整数,表示将第$i$个节点的所有与其它节点相关联的边去掉之后(不去掉$i$节点本身),无向图中有多少个有序对$(u,v)$,满足$u,v$不连通。解题分析:首先,很明显,$i$节点
        阅读全文
            
                posted @ 2019-03-01 14:47  
悠悠呦~
    
            
        
 浙公网安备 33010602011771号
浙公网安备 33010602011771号