- 博客(118)
- 资源 (3)
- 收藏
- 关注
原创 maven扫描不到resources下的配置文件和src下的xml文件
用Maven管理项目的时候,你写的一些配置文件会在src下面或者项目的资源文件里面,因为Maven在项目打包的时候不好扫描src下面的配置文件所以需要手动添加,告诉他要扫描那些文件你可以在pom.xml添加如下代码,添加完成后Idea会显示一个Maven刷新的标致,一定一定一定要点击刷新!!!<build> <resources> <resource> <directory>src/main/java</directory&g
2021-12-07 11:10:19
1312
原创 笔试题(图书)
题目大意给你 n 本书,每本书有五种属性值。让你选出两本书然后组成一本新的数,新书的每个属性值为原来两本书中最大的哪一个。问你挑选哪两本书可以使得新书的最小属性值最大;如果有多组数据满足要求输出下标最小的那组数据数据范围1e5;解题思路一般涉及最大值最小的题都和二分有关。二分枚举最小值最大可以是多少。代码#include<bits/stdc++.h>using namespace std;const int N = 100010;int a[N][5], p, q, n;
2021-05-09 09:58:51
245
原创 C. Row GCD(gcd更相减损)
文章目录[C. Row GCD](https://codeforces.com/contest/1459/problem/C)题意解题思路代码C. Row GCD题意给以个a数组长度为 n 和数组 b 长度为m,问你每次a数组的每个数加上m数组的第 j 个数的值后a数组的gcd是多少;解题思路我们都是知道 gcd(a,b)=gcd(a,b-a);对于多个数组而言 gcd(a,b,c,d)=gcd(a,b-a,c-b,d-c);当说有数都加上 x 时gcd(a+x,b+x,c+x,d+x)=g
2021-01-11 19:53:43
487
原创 E2. Three Blocks Palindrome (hard version)
文章目录[E2. Three Blocks Palindrome (hard version)](https://codeforces.com/contest/1335/problem/E2)题目大意解题思路代码E2. Three Blocks Palindrome (hard version)题目大意给你一个长度为 n 的数列,让你选取一种子序列,这种子序列最多有两种元素构成并且左边的和右边的元素不仅个数相同而且也是同一种元素。为你这种序列的最长长度是多少。解题思路观察数据发现,数组的长度最多是
2020-12-19 11:52:47
160
1
原创 Sky Garden(2020ICPC上海站)
文章目录[Sky Garden](https://ac.nowcoder.com/acm/contest/9925/I)题目大意解题思路代码Sky Garden题目大意有n个圆他们的圆心都是(0,0),并且第i个圆的半径是i。然后有m条直线将这些圆等分成了2*m分。并且产生了一些交点。让你求任意两个不同的交点之间的最短距离之和是多少。解题思路看了大佬的博客看了好久才看明白,解题思路太强了。首先我们可以知道在一个圆上的所有交点,中任意连个之间的距离肯定是min{两点之间的最短弧长,直径长度}min
2020-12-16 17:59:14
803
2
原创 2695: 旅游胜地(2-SAT)
文章目录[2695: 旅游胜地](http://acm.zzuli.edu.cn/problem.php?id=2695)题目大意解题思路代码2695: 旅游胜地题目大意中文题,大意就剩略了吧。解题思路这也题看了以后感觉是二分+2-SAT但是不知道具体的怎么去建图。一直卡着。后来看了大佬的博客后突然明白了,电子竞技菜是原罪呀! 我们对于每一条边,分别判断如果 u 取a数组的值, v 取b数组的值。判断下这差值是否大于 二分枚举的值,如果大于就选择建这个边对于另外的点之间建边。每次建完图以后,判断是
2020-11-29 17:17:48
371
3
原创 C. Range Increments(差分)
文章目录[C. Range Increments](https://codeforces.com/contest/174/problem/C)题目大意解题思路代码C. Range Increments题目大意给你 n 个数,每次你可以选择一个区间减去使得所有的区间的数的值减去 1 ,问你最少操作几次使得这 n 个数全部为0,并且输出方案。解题思路发现,每次可以用差分去解题的思路都特别的妙。这一题也是。按照差分的性质,在差分数组中只要出现负数说明这个数就是比前面的数小。正数的话是比前面的数大。那么差
2020-11-27 10:21:16
302
原创 F - Programming Contest(折半枚举)
文章目录[F - Programming Contest](https://atcoder.jp/contests/abc184/tasks/abc184_f)题意解题思路代码F - Programming Contest题意给你 N 个数,可一个数K。从n个书里面选取和不超过K的一些数。使这些数的权值和最大。解题思路首先感觉是背包,但是数据太大了,没办法进行操作。然后发下这道题可以用折半枚举。将这本分数分成;两部分进行枚举。很巧的一个枚举思路代码#include<bits/stdc++
2020-11-24 17:00:49
436
原创 ACM 对拍程序
使用方法新建四个cpp文件分别是 zi.cpp baoli.cpp data.cpp duipai.cpp分别写下 自己的代码,暴力保证100%正确的代码,生成本题的数据,对拍程序先编译前三个cpp文件生成对应的exe文件后,运行 duipai.cpp 这个代码即可进行对拍参考博客:大佬1大佬2zj.cpp(zj 自己的code不保证 100%正确)#include<iostream>using namespace std;int main(){ int
2020-11-19 21:15:04
230
原创 E. Lomsat gelral(dsu on tree)
文章目录[E. Lomsat gelral](https://codeforces.com/contest/600/problem/E)题意解题思路代码E. Lomsat gelral题意统计每棵子树的最多的颜色节点的和是说少。解题思路最近刚学的 dsu on tree 这道题刚好是一道模板题。我们通过一次dfs搜索后,标记出每个节点的重儿子,然后遍历的时候先遍历亲儿子再遍历重儿子。附加一个大佬的博客和B站的视频讲解吧。博客链接视频连接代码#include<bits/stdc++.
2020-11-18 21:35:38
430
原创 Phone Network(小米邀请赛)
文章目录[Phone Network](https://ac.nowcoder.com/acm/contest/7501/E)题目大意解题思路代码Phone Network题目大意有一个长度为 n 的数组,里面有每个值为 1–m之间且每个数出现的次数至少为1.问分别求出每个包含从 1–i 的最短区间的长度。解题思路这个线段是真的是涨姿势呀!!!在构建线段树之前我们分别记录每种节点出现的位置。这样我们构建线段树的时候,从第一种节点开始构建,线段树记录每个节点到 包含 1–i 号节点的最短距离。
2020-10-30 10:23:33
447
原创 Router Mesh(牛客小米邀请赛)
文章目录[Router Mesh](https://ac.nowcoder.com/acm/contest/7501/D)题目大意解题思路代码Router Mesh题目大意跟 n 个点 m 条边,问你分别删除一个点后对应这 n 个点还有几个联通块。解题思路先求出来一共有多少个连通块,然后计算每个点对应到少个割边,之后连通块的个数加上该点的割边的数量就可以了。有个坑点就是,每次第一个遍历的点,他的割边的个数会多一,需要减一下;代码#include<bits/stdc++.h>usi
2020-10-26 19:45:23
314
1
原创 Kingdom‘s Power(2020CCPC秦皇岛)(树)
文章目录Kingdom's Power(2020CCPC秦皇岛)题目大意解题思路代码Kingdom’s Power(2020CCPC秦皇岛)题目大意有一棵根节点为1的树,根节点处有无限个部队,每次操作你能让一个部队移动一步,问你最少移动多少次可以遍历完这个树。解题思路感觉这个题很有意思,我们首先可以计算出每个节点到根节点的距离和这个节点到最远的叶子节点的距离,在我们计算的时候先计算该节点的最短的叶子节点。然后看看是从更节点新派来个部队快还是,从另一个节点过来快。比如这个图,我们先进行一次dfs
2020-10-20 18:17:52
637
3
原创 Exam Results(2020CCPC秦皇岛)(尺取)
文章目录Exam Results题目大意解题思路Exam Results题目大意有 n 个人 每个人可以从两个成绩选一个做最终成绩,及格成绩是这n个人的成绩中最大的成绩 x*p%的值。问你最多有多少人及格。解题思路这个题,可以用尺取去解决,设一个头指针,一个尾指针。每次移动一下尾指针看当前情况中有多少个及格人数。每次每次更新答案的最大值。这里可以先进行排序没然后吧每个人的成绩分开存,非常巧妙的一个拆分。#include<bits/stdc++.h>using namespace s
2020-10-20 09:42:27
3062
7
原创 I - Magic Potion(最大流)
文章目录[I - Magic Potion ](https://codeforces.com/gym/101981)题目大意解题思路代码I - Magic Potion 题目大意一共有 n 个英雄 m 个怪物,每个英雄只能击败他范围内的一个怪物,但是想在有K 瓶药水,每瓶药水可以使得一个英雄多击败一只怪物,问你所有的英雄最多可以击败多少只怪物。解题思路这个属于二分图的最大匹配问题。但是多出来 k 使得问题有点不一样了。我们可以更变下新的建图方法,新加三个节点。节点1作为新的源点,让他与每个英雄建一
2020-10-13 16:09:34
308
原创 Mediocre String Problem(马拉车+扩展KMP)
文章目录[Mediocre String Problem](https://codeforces.com/gym/101981)题目大意解题思路代码Mediocre String Problem题目大意给你一个串S,和一个串T,从S中选一个子串做前缀串然后与T的一个前缀串做后缀串组成新的字符串是一个回文串,而且S的子串的长度需要比T的前缀串的长度要长。问你有多少种选取方法。解题思路假设我们选取S串的S[i:j]S[i:j]S[i:j]和T串的T[1:K]T[1:K]T[1:K]组成的新串是一个回文
2020-10-12 20:57:57
397
原创 J - Prime Game
文章目录[J - Prime Game ](https://codeforces.com/gym/101981/attachments)题目大意解题思路代码J - Prime Game 题目大意根据公式很容易发现,让求这些数每次相乘后质因子的个数的和。解题思路我们发下,相乘后的质因子个数其实就是这些数的各自质因子个数的和,只不过要去掉重复的,暴力的方法就是我们按照公式计算,然后每次计算就用个set去重,但是这样是不行的。数据量太大了,因此我们要去想其他的方法,这时候肯定是需要计算每个数的贡献度了。
2020-10-12 11:34:46
269
原创 Count the string_HDU3336
文章目录[Count the string_HDU3336](http://acm.hdu.edu.cn/showproblem.php?pid=3336)题目大意解题思路代码Count the string_HDU3336题目大意一共有T组字符串,每组有一个长度为n的字符串。让你求这个字符串的每一个前缀串在这个字符串中出现的次数和是多少。解题思路我们对这个字符串进行KMP求出next数组,我们会发现,next[i] 表示的是,公共前缀子串的长度,进而对next数组的值作为线性DP的下标进行求解就
2020-10-10 12:24:50
239
原创 D - Magic Multiplication(Zoj-4061)
文章目录[D - Magic Multiplication ](https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370311)题目大意解题思路代码D - Magic Multiplication 题目大意一共有T组数据,每次给你一个n,一个m和一个字符串s,表示一个n位数和一个m位数按照指定的规则运算结果是s,问你有没有这样的两个数存在,如果存在输出最小的n位数和m位数。解题思路看上去数据很大,但是仔细看的话,你会发现存在的
2020-10-05 21:27:31
341
原创 Plants vs. Zombies(二分)
文章目录[Plants vs. Zombies](https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370312)题意解题思路代码Plants vs. Zombies题意给以n个数,每个数表示浇一次水可以长高多少,你一共可以移动m次,每次移动只能移动一格,移动一次浇一次水,问你m次以后最小值最大是多少解题思路这个题刚开始看到没一点思路,仔细一想就是二分了,我们二分最小值最大是多少,每次check的时候当这个位置没有check值
2020-10-05 09:35:11
3401
原创 Strings in the Pocket(马拉车)
文章目录[Strings in the Pocket](https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370505)题目大意解题思路代码Strings in the Pocket题目大意一共T组测试数据,每组给出两个字符串,让你选择一个区间交换过后,两个字符串相同。输出方案数。解题思路可以分为三种情况1,两个字符串有多个连续位置不同2,只有一段连续位置不同。3,完全相同对于一,我们肯定不可能操作一次后使得两个字符串
2020-10-03 20:13:29
203
原创 Exchanging Gifts(拓扑排序)
文章目录[E. Exchanging Gifts](https://codeforces.com/gym/102394/problem/E)大佬的博客E. Exchanging Gifts大佬的博客#include<bits/stdc++.h>using namespace std;const int mx=1000100;#define ll long longvector<int> ve[mx],vec[mx];unordered_map<int,ll&g
2020-09-29 17:35:52
644
原创 I. Interesting Permutation(思维)
文章目录[I. Interesting Permutation](https://codeforces.com/gym/102394/problem/I)题意解题思路代码I. Interesting Permutation题意给你一个数字n,然后有一个长度为n的数列,这个数列的第 i 项值时某个数列的前 i 项的最大值减去最小值的到的结果,问你用着n个数字能构造出来多少种长度为n的数列。解题思路不成立的情况就不总结了。直接说怎么构造可行解吧。如果某一项和前一项不相等,那么我们就可以在数量上乘以2
2020-09-27 19:20:50
708
原创 Poj-3694-Network(Tarjan+最小生成树)
文章目录Poj-3694-Network题目大意解题思路代码Poj-3694-Network题目大意给你一个n个节点m条边的连通图,问你每次给所选的两个点连线后,该连通图还有多少个桥。解题思路我们先用Tarjan进行缩点,然后统计出现在还有多少个桥,对于缩完点后的数,我们找一个点做祖先没然后每次的答案就是现有的桥数减去他们最近公共祖先的距离和-1。我们每次操作完后需要给所连接成一个环的节点全部归为一个节点。还有就是这个题,用邻接表存图会TLE的,需要链式前项星,并且有重边代码#include
2020-09-25 10:38:57
199
原创 HDU-4612-Warm up(求桥的个数,处理重边)
文章目录[HDU-4612-Warm up](http://acm.hdu.edu.cn/showproblem.php?pid=4612)题目大意解题思路代码HDU-4612-Warm up题目大意给你n个点,m条边。问你再添加一条边后这个图最少还剩几个桥。解题思路如果没有重边的话,这个题很好解决的,只需要tarjan缩点后求出缩点后的树的直径。但是本题有重边,这就增加了解题的难度。我可以用一个标记,在缩点的时候标记一下,如果遇到父亲节点两次那说明就是一个重边了,我们更新其low值即可代码
2020-09-22 18:00:04
232
原创 HDU-4737-Caocao‘s Bridges
文章目录[HDU-4737-Caocao's Bridges](http://acm.hdu.edu.cn/showproblem.php?pid=4738)题目大意解题思路代码HDU-4737-Caocao’s Bridges题目大意给你n个点,m条边。让你选着删去一条边是的这个图不连通,每条边都有一个权值,让你找出最小的权值。解题思路利用tarjon缩点,然后找去桥,统计桥的最小权值的就可以了。但是这个题好几个坑点1,有重边,如果这个桥有重边,那么将不能选择2,如果本来就不是一个连通图,
2020-09-22 11:00:59
218
原创 HDU-4635-Strongly connected
文章目录[HDU-4635-Strongly connected](http://acm.hdu.edu.cn/showproblem.php?pid=4635)题目大意解题思路代码HDU-4635-Strongly connected题目大意给你n个点,m条边的简单有向图,问你最多能加多少边使得这个图不是强连通图(从任意一个节点可以到达其他任意的一个节点)。解题思路我们可以先用tarjan进行缩点,将能相互到达的一些点缩成一个,然后我们可以得到多个强连通图,我们可以枚举这些点,让其他所有的连通块
2020-09-21 21:26:31
120
原创 HDU-6736-Forest Program
文章目录[HDU-6736-Forest Program](http://acm.hdu.edu.cn/showproblem.php?pid=6736)题意思路代码HDU-6736-Forest Program题意给你n和点m条边,问你有多少种删边的方法。使其变成没有环的图。思路找最小环的数量。可以用点强连通分量搞,也可以dfs,记录dfs序就可以了;代码#include <bits/stdc++.h>using namespace std;#define ll long l
2020-09-21 10:04:59
118
原创 D. Yet Another Yet Another Task
文章目录[D. Yet Another Yet Another Task](https://codeforces.com/contest/1359/problem/E)题目大意解题思路代码D. Yet Another Yet Another Task题目大意给你一个长度为n的序列,你要从中选着任意一段连续的区间,然后用区间和减去这个区间最大值,问你可以的到的值最大是多少。解题思路由于n个数的值都很小,不超过30,我们可以发现,如果连续的去掉一个最大值以后,所有的数肯定不会超过这个数,所以可以枚举最
2020-09-16 19:22:07
225
原创 LightOJ 1124 Cricket Ranking(多重组合数学)
文章目录[题目链接:LightOJ 1124 Cricket Ranking](http://lightoj.com/volume_showproblem.php?problem=1124)题目大意解题思路代码题目链接:LightOJ 1124 Cricket Ranking题目大意有k个区间每个区间选出来一个数,使得k个数的和为n,问有多少种方案。解题思路这是一个多重集合的排列组合问题。设多重集合S=n1∗a1,n2∗a2,...,nk∗ak,n=n1+n2+...+nk设多重集合 S = {
2020-09-08 18:32:52
254
原创 1063 - Ant Hills
文章目录[题目链接:1063 - Ant Hills](http://lightoj.com/volume_showproblem.php?problem=1063)题目大意解题思路代码题目链接:1063 - Ant Hills题目大意一个n各节点m条边的无向图。让你求有多少个割点。解题思路直接利用 tarjon 求割点。代码#include<bits/stdc++.h>using namespace std;#define ll long longconst int mx=
2020-09-08 11:45:07
178
1
原创 Forming the Council(2-sat)
文章目录[题目链接:Forming the Council](http://lightoj.com/volume_showproblem.php?problem=1251)题目大意思路代码题目链接:Forming the Council题目大意一共有m个选民进行投票,有n个人可以被偷 整数表示他可以继续留在议会,负数希望他离开议会。这m个人一人投两票,问你能不能选出来几个人组成新的议会,使得所有人都满意,每个人满意的条件是自己的两票中至少有一票得到实现。思路典型的 2−sat2-sat2−sat
2020-09-07 20:57:42
177
原创 K. Key Storage(组合数学)
文章目录[题目链接:K. Key Storage](http://codeforces.com/contest/1267/problem/K)题目大意解题思路代码题目链接:K. Key Storage题目大意给你一个数让你求出这个数除以2,除以3,递推下去,直到除数为0的时候得到的余数相同的集合相同的数有多少个。解题思路大佬博客链接很好的一道排列组合问题。中间还有一些小的细节看代码吧。代码#include<bits/stdc++.h>using namespace std;#
2020-09-05 09:23:04
344
原创 牛客多校第九场The Flee Plan of Groundhog(树上的思维)
文章目录[题目链接:The Flee Plan of Groundhog ](https://ac.nowcoder.com/acm/contest/5674/K)题目大意解题思路代码题目链接:The Flee Plan of Groundhog 题目大意给你一棵树,G从1号节点出发去n号节点,走最短的路径速度最快 1m/s1m/s1m/s,TTT 秒以后他开始逃跑,O从 nnn 号节点开始追他,速度最快 2m/s2m/s2m/s 。G逃跑的时候可以在原地呆着,问多久可以追上他。解题思路我们通过
2020-08-14 09:59:17
145
原创 E_Groundhog Chasing Death(不错的数论)
文章目录[题目链接:E_Groundhog Chasing Death](https://ac.nowcoder.com/acm/contest/5674/E)题目大意解题思路代码题目链接:E_Groundhog Chasing Death题目大意这一道裸的数论题,题意就不省略了。解题思路我们可以对 x和yx和yx和y 进行质因子分解,经过化简我们可以得到下面这个公式p∑i=ab∑j=cdmin(i∗n,j∗m)p^{\sum_{i=a}^{b} \sum_{j=c}^{d} min(i*n,j
2020-08-09 10:28:38
223
1
原创 F.Groundhog Looking Dowdy(优秀的尺取)
文章目录[题目链接:F·Groundhog Looking Dowdy](https://ac.nowcoder.com/acm/contest/5674/F)题目大意解题思路代码题目链接:F·Groundhog Looking Dowdy题目大意给你两个数 n和mn 和 mn和m 从这nnn天中选取mmm天,每天选取一件衣服,使得这mmm件衣服的最大值与最小值的差值最小。接下来nnn行,每行的第一个数表示这天有多少件衣服,后面是每件衣服的数值。解题思路我们可以用一个结构体来存储每件衣服的元素
2020-08-09 09:51:55
209
原创 牛客第八场_E-Enigmatic Partition(神仙差分)
文章目录[E-Enigmatic Partition](https://ac.nowcoder.com/acm/contest/5673/E)题意收获代码E-Enigmatic Partition题意f(n)f(n)f(n)表示将 nnn 拆分成相邻两个数差值不超过1且第一项等于最后一项-2的方案有几种。问你区间 f(l)到f(r)f(l)到f(r)f(l)到f(r)的和。收获这个题我们通过枚举构造数组的长度来确定有每个数字有多少种构造方案,然后通过求差分数组去发现规律。对于思维题找规律的时候不
2020-08-06 19:40:45
183
原创 Harder Gcd Problem(构造)
文章目录[Harder Gcd Problem](https://ac.nowcoder.com/acm/contest/5669/H)解题思路代码Harder Gcd Problem解题思路直接给个大佬的链接吧。大佬的博客代码/*从大到小安排质数这个构造真的妙 */#include <bits/stdc++.h>using namespace std;typedef long long ll;const int mx=2e5+5;int prime[mx];boo
2020-07-21 09:33:50
190
原创 Two Matchings(有趣的一道简单dp)
文章目录[E.Two Matchings ](https://ac.nowcoder.com/acm/contest/5668/E)这里直接放一位大佬的题解吧本题所得代码E.Two Matchings 这里直接放一位大佬的题解吧本题所得当一个数列在计算的时候,出现了多种状态的时候,不能只顾头尾不管中间,这时候需要用的dp去慢慢的选择每一步中最优的状态!代码#include<bits/stdc++.h>using namespace std;typedef long long ll
2020-07-20 11:05:42
175
原创 G.Greater and Greater
文章目录[Greater and Greater](https://ac.nowcoder.com/acm/contest/5667/G)题目大意截图思路代码Greater and Greater题目大意给你一个长度分别为 n,mn,mn,m 的数字 an,bna_n ,b_nan,bn 问你能从数组 aaa 中选出多少长度为 mmm 的子串使其对应位置的值大于等于数组 bbb 的值截图思路这个题非常巧妙的用到了 bitsetbitsetbitset 来进行处理我们拿样例了做个简单的演练1&
2020-07-16 18:19:20
291
seerc-2019-editorial.pdf
2019-11-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人