- 博客(29)
- 收藏
- 关注
原创 ZOJ3870 Team Formation(思维)
For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-man team fromNstudents of his university.Edward knows the skill level of each student. He has found that if two students with skill levelAandBform a ...
2020-10-24 22:48:55
166
原创 Codeforces #663 (Div. 2) D. 505(状压dp)
A binary matrix is calledgoodif everyevenlength square sub-matrix has anoddnumber of ones.Given a binary matrixaaconsisting ofnnrows andmmcolumns, determine the minimum number of cells you need to change to make it good, or report that there ...
2020-09-15 12:17:06
211
原创 AcWing343.排序(floyd传递闭包)
题目:https://www.acwing.com/problem/content/345/给定n个变量和m个不等式。其中n小于等于26,变量分别用前n的大写英文字母表示。不等式之间具有传递性,即若 A>B 且 B>C ,则 A>C。请从前往后遍历每对关系,每次遍历时判断:如果能够确定全部关系且无矛盾,则结束循环,输出确定的次序; 如果发生矛盾,则结束循环,输出有矛盾; 如果循环结束时没有发生上述两种情况,则输出无定解。输入格式输入包含多组测试数据...
2020-08-22 13:31:25
244
原创 AcWing383.观光(拆点+最短路)
题解:https://www.acwing.com/problem/content/385/“您的个人假期”旅行社组织了一次比荷卢经济联盟的巴士之旅。比荷卢经济联盟有很多公交线路。每天公共汽车都会从一座城市开往另一座城市。沿途汽车可能会在一些城市(零或更多)停靠。旅行社计划旅途从 S 城市出发,到 F 城市结束。由于不同旅客的景点偏好不同,所以为了迎合更多旅客,旅行社将为客户提供多种不同线路。游客可以选择的行进路线有所限制,要么满足所选路线总路程为 S 到 F 的最小路程,要么.
2020-08-21 17:03:41
255
原创 AcWing181.回转游戏(IDA*)
题目:https://www.acwing.com/problem/content/183/如下图所示,有一个“#”形的棋盘,上面有1,2,3三种数字各8个。给定8种操作,分别为图中的A~H。这些操作会按照图中字母和箭头所指明的方向,把一条长为8的序列循环移动1个单位。例如下图最左边的“#”形棋盘执行操作A后,会变为下图中间的“#”形棋盘,再执行操作C后会变成下图最右边的“#”形棋盘。给定一个初始状态,请使用最少的操作次数,使“#”形棋盘最中间的8个格子里的数字相同。输入格式.
2020-08-15 22:19:55
232
1
原创 AcWing171.送礼物(双向dfs)
题目:https://www.acwing.com/problem/content/173/达达帮翰翰给女生送礼物,翰翰一共准备了N个礼物,其中第i个礼物的重量是G[i]。达达的力气很大,他一次可以搬动重量之和不超过W的任意多个物品。达达希望一次搬掉尽量重的一些物品,请你告诉达达在他的力气范围内一次性能搬动的最大重量是多少。输入格式第一行两个整数,分别代表W和N。以后N行,每行一个正整数表示G[i]。输出格式仅一个整数,表示达达在他的力气范围内一次性能搬动的最大重量。数据
2020-08-15 16:45:08
289
原创 AcWing166.数独(dfs+剪枝)
题目:https://www.acwing.com/problem/content/168/数独是一种传统益智游戏,你需要把一个9 × 9的数独补充完整,使得图中每行、每列、每个3 × 3的九宫格内数字1~9均恰好出现一次。请编写一个程序填写数独。输入格式输入包含多组测试用例。每个测试用例占一行,包含81个字符,代表数独的81个格内数据(顺序总体由上到下,同行由左到右)。每个字符都是一个数字(1-9)或一个”.”(表示尚未填充)。您可以假设输入中的每个谜题都只有一个解决方案。
2020-08-12 17:10:51
269
原创 AcWing 178. 第k短路(A*算法)
题目:https://www.acwing.com/problem/content/description/180/给定一张N个点(编号1,2…N),M条边的有向图,求从起点S到终点T的第K短路的长度,路径允许重复经过点或边。注意:每条最短路中至少要包含一条边。输入格式第一行包含两个整数N和M。接下来M行,每行包含三个整数A,B和L,表示点A与点B之间存在有向边,且边长为L。最后一行包含三个整数S,T和K,分别表示起点S,终点T和第K短路。输出格式输出占一行,包含一个整数..
2020-08-09 15:36:26
169
原创 AcWing190.字串变换(双向bfs)
题目:https://www.acwing.com/problem/content/192/已知有两个字串A,B 及一组字串变换的规则(至多6个规则):A1->B1A2->B2…规则的含义为:在A中的子串A1可以变换为B1、A2可以变换为B2…。例如:A=’abcd’B=’xyz’变换规则为:‘abc’->‘xu’ ‘ud’->‘y’ ‘y’->‘yz’则此时,A 可以经过一系列的变换变为B,其变换的过程为:...
2020-08-09 12:04:45
231
原创 AcWing1107.模板(bfs最小步数模型)
题目:https://www.acwing.com/problem/content/1109/Rubik 先生在发明了风靡全球的魔方之后,又发明了它的二维版本——魔板。这是一张有8个大小相同的格子的魔板:1 2 3 48 7 6 5我们知道魔板的每一个方格都有一种颜色。这8种颜色用前8个正整数来表示。可以用颜色的序列来表示一种魔板状态,规定从魔板的左上角开始,沿顺时针方向依次取出整数,构成一个颜色序列。对于上图的魔板状态,我们用序列(1,2,3,4,5,6,7...
2020-08-09 11:56:27
215
原创 AcWing239.奇偶游戏(离散化 + 边带权/扩展域并查集)
题目:https://www.acwing.com/problem/content/description/241/小A和小B在玩一个游戏。首先,小A写了一个由0和1组成的序列S,长度为N。然后,小B向小A提出了M个问题。在每个问题中,小B指定两个数 l 和 r,小A回答 S[l~r] 中有奇数个1还是偶数个1。机智的小B发现小A有可能在撒谎。例如,小A曾经回答过 S[1~3] 中有奇数个1, S[4~6] 中有偶数个1,现在又回答 S[1~6] 中有偶数个1,显然这是自相矛盾的。
2020-07-31 18:51:23
263
原创 AcWing1252.搭配购买(并查集+01背包)
题目:https://www.acwing.com/problem/content/description/241/Joe觉得云朵很美,决定去山上的商店买一些云朵。商店里有n朵云,云朵被编号为1,2,…,n,并且每朵云都有一个价值。但是商店老板跟他说,一些云朵要搭配来买才好,所以买一朵云则与这朵云有搭配的云都要买。但是Joe的钱有限,所以他希望买的价值越多越好。输入格式第1行包含三个整数n,m,w,表示有n朵云,m个搭配,Joe有w的钱。第2∼n+1行,每行...
2020-07-31 16:37:07
140
原创 AcWing 244. 谜一样的牛(树状数组+二分)
题目:https://www.acwing.com/problem/content/245/有n头奶牛,已知它们的身高为 1~n 且各不相同,但不知道每头奶牛的具体身高。现在这n头奶牛站成一列,已知第i头牛前面有Ai头牛比它低,求每头奶牛的身高。输入格式第1行:输入整数n。第2..n行:每行输入一个整数Ai,第i行表示第i头牛前面有Ai头牛比它低。(注意:因为第1头牛前面没有牛,所以并没有将它列出)输出格式输出包含n行,每行输出一个整数表示牛的身高。第i行输出第i头牛的身高
2020-07-29 14:40:55
193
原创 AcWing 245. 你能回答这些问题吗(线段树)
给定长度为N的数列A,以及M条指令,每条指令可能是以下两种之一:1、“1 x y”,查询区间 [x,y] 中的最大连续子段和,即maxx≤l≤r≤y{∑ri=lA[i]}。2、“2 x y”,把 A[x] 改成 y。对于每个查询指令,输出一个整数表示答案。输入格式第一行两个整数N,M。第二行N个整数A[i]。接下来M行每行3个整数k,x,y,k=1表示查询(此时如果x>y,请交换x,y),k=2表示修改。输出格式对于每个查询指令输出一个整数表示答案。每个答案占.
2020-07-29 14:26:52
151
原创 2020年牛客暑期多校训练(第四场)harder gcd problem
题目链接:https://ac.nowcoder.com/acm/contest/5669/H输入2410输出12 443 95 108 24 6题解: 首先先排除1,和大于n/2的质数,因为它们是不能配对的,然后我们考虑将剩下的质数倒序记录下它们未被记录的倍数(因为正序的话,有些数记录不到它们的倍数),然后如果一个数记录的数的数目为偶数(这里包括它们本身),这些数都可以两两匹配,如果为奇数,取出一个偶数即可,剩余的依旧可以配对,最后把取出的偶数两两配对即可。..
2020-07-22 15:39:25
159
原创 AcWing 890.能被整除的数(容斥原理)
给定一个整数n和m个不同的质数p1,p2,…,pm。请你求出1~n中能被p1,p2,…,pm中的至少一个数整除的整数有多少个。输入格式第一行包含整数n和m。第二行包含m个质数。输出格式输出一个整数,表示满足条件的整数的个数。数据范围1≤m≤161≤n,pi≤1e9输入样例:10 22 3输出样例:7题解:这里采用了容斥原理,一个数k在n中的个数为n/k个,而交集则为数的乘积在n中的个数,这里采用位运算处理数的乘积的选择,如果为1就选择,为0就不选
2020-07-19 18:29:12
341
原创 AcWing 846. 树的重心(模板)
给定一颗树,树中包含n个结点(编号1~n)和n-1条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。输入格式第一行包含整数n,表示树的结点数。接下来n-1行,每行包含两个整数a和b,表示点a和点b之间存在一条边。输出格式输出一个整数m,表示重心的所有的子树中最大的子树的结点数目。数据范围1≤n≤105输入样例91 2
2020-07-18 10:30:21
415
原创 AcWing 241楼兰图腾(树状数组)
题目链接:https://www.acwing.com/problem/content/description/243/在完成了分配任务之后,西部314来到了楼兰古城的西部。相传很久以前这片土地上(比楼兰古城还早)生活着两个部落,一个部落崇拜尖刀(‘V’),一个部落崇拜铁锹(‘∧’),他们分别用V和∧的形状来代表各自部落的图腾。西部314在楼兰古城的下面发现了一幅巨大的壁画,壁画上被标记出了N个点,经测量发现这N个点的水平位置和竖直位置是两两不同的。西部314认为这幅壁画所包含的信息与这N个
2020-07-07 18:56:10
195
原创 AcWing 143.最大异或对
题目链接:https://www.acwing.com/problem/content/description/145/在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数N。第二行输入N个整数A1A1~ANAN。输出格式输出一个整数表示答案。数据范围1≤N≤1051≤N≤105,0≤Ai<2310≤Ai<231输入样例:31 2 3输出样例:3题解..
2020-07-05 09:40:45
208
原创 AcWing 141.周期
链接:https://www.acwing.com/problem/content/description/143/一个字符串的前缀是从第一个字符开始的连续若干个字符,例如”abaab”共有5个前缀,分别是a, ab, aba, abaa, abaab。我们希望知道一个N位字符串S的前缀是否具有循环节。换言之,对于每一个从头开始的长度为 i (i>1)的前缀,是否由重复出现的子串A组成,即 AAA…A (A重复出现K次,K>1)。如果存在,请找出最短的循环节对应的K值(也就...
2020-07-04 16:49:58
197
1
原创 nowcoder西安邮电大学第五届ACM-ICPC校赛G题(校车)
链接:https://ac.nowcoder.com/acm/contest/5678/G来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述西安邮电大学有一辆从老校区到新校区的校车,总共有 n 个学生乘坐校车,在 ai站上车,在 bi站下车。学校打算去除一部分不必要的站点,请问需要保留多少站点,需要安排多少个座位?输入描述:输出描述:输出保留站点数,座位数.
2020-05-24 22:17:26
417
原创 AcWing136 邻值查找
给定一个长度为 n 的序列 A,A 中的数各不相同。对于 A 中的每一个数AiAi,求:min1≤j<i|Ai−Aj|min1≤j<i|Ai−Aj|以及令上式取到最小值的 j(记为PiPi)。若最小值点不唯一,则选择使AjAj较小的那个。输入格式第一行输入整数n,代表序列长度。第二行输入n个整数A1…AnA1…An,代表序列的具体数值,数值之间用空格隔开。...
2020-04-04 22:19:29
325
原创 Acwing115 给树染色(贪心)
一颗树有 n 个节点,这些节点被标号为:1,2,3…n,每个节点 i 都有一个权值 A[i]。现在要把这棵树的节点全部染色,染色的规则是:根节点R可以随时被染色;对于其他节点,在被染色之前它的父亲节点必须已经染上了色。每次染色的代价为T*A[i],其中T代表当前是第几次染色。求把这棵树染色的最小总代价。输入格式第一行包含两个整数 n 和 R ,分别代表树的节点数以及根节点的...
2020-02-10 11:14:41
413
原创 POJ3784(对顶堆做法)
Running MedianTime Limit:1000MS Memory Limit:65536K Total Submissions:5096 Accepted:2270 Des...
2020-02-03 21:30:04
187
原创 用快排解决第k小数问题
每排完一次后,由于基准数的左右都完成了相对大小的排列,可以把基准数的序号与k进行比较,如果不是,则判断进入左半部分或者右半部分,平均情况下时间复杂度为O(n)#include<bits/stdc++.h>using namespace std;#define ll long longconst int N = 1e5+5; int a[N];int n,k;int q...
2020-02-03 21:20:51
372
原创 HDU2544(SPFA)
其实还可以用其他的最短路算法,这里拿SPFA练练手#pragma GCC optimize("inline")#pragma GCC optimize(2)#include<bits/stdc++.h>using namespace std;#define ll long long struct node{ int to,w,nxt;}edge[20005];...
2019-11-06 23:38:09
120
原创 C++ find函数在vector中的应用
#include<iostream>#include<vector>#include<algorithm>using namespace std;int main() { vector<int> a; int x,n; cin>>n; for(register int i = 0;i < n;i ++) { c...
2019-11-02 17:09:17
3984
原创 埃筛,线性筛(欧拉筛)
我们知道在求素数时,普通的暴力通常无法满足许多OJ网站的时间复杂度要求,那么自然需要优化,我们求素数时,不妨把不是素数的先标记,剩下的自然就都是素数(直接暴力这里就不写了)。埃塞: #include<bits/stdc++.h>using namespace std;#define ll long longint prime[20000];...
2019-11-02 10:06:03
341
原创 POJ 1013题解
DescriptionSally Jones has a dozen Voyageur silver dollars.However, only eleven of the coins are true silver dollars;one coin is counterfeit even though its color and size make it indistinguis...
2019-10-01 20:28:04
620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人