04 2020 档案

摘要:【题目描述】 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。 【输入输出格式】 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开。 输出格式: 输出只有一行,包含一个正整数 x0,即最小正整数解。输入数据保证一定有解。 【输入输出样例】 输入样例#1: 3 1 阅读全文
posted @ 2020-04-28 23:08 liyexin 阅读(252) 评论(0) 推荐(0)
摘要:1:欧几里得算法,既辗转相除法。用于计算正整数a,b的最大公约数。举个例子,简单明了: 12/8==1.....4 8/4==2......0 4/0==0 ,除数为0,终止,被除数为答案:4 除数和余数反复做%运算,其实和/没什么关系了,直接看%就可以了,所以有递归代码: ll gcd(ll a, 阅读全文
posted @ 2020-04-28 23:03 liyexin 阅读(241) 评论(0) 推荐(1)
摘要:地址:http://codeforces.com/contest/1342 题意:给出x,y和1操作2操作花费的费用a,b。使得x==y==0的最小花费。 解析:两种方式,x,y中较大的先-1,x==y后再一块-1到0。第二个方式就是,x先减到0,y再减到0。取个min就可以了。 #include< 阅读全文
posted @ 2020-04-27 23:14 liyexin 阅读(142) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5523/A 题意:刚开始没读懂。。。题意就是给出n个人,每个人m张票。第一个数是本人得的票数。除了本人以外,所有人都投过了票,现在他要把m张票投完,怎么投才能使自己的排名更靠前。由于他的名字关系,同样的票数,他要排在最后 阅读全文
posted @ 2020-04-26 22:17 liyexin 阅读(291) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5523/F 题意:给出s1串和s2串,按以下方式组合: 1: s1 2: s2 3: s1+s2 4: s2+s1+s2 5: s1+s2+s2+s1+s2 .......... 对每次过程s1,s2串出现次数计数,用a 阅读全文
posted @ 2020-04-26 22:04 liyexin 阅读(220) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5523/D 题意:n个人,m个人可以成为队长。队长不同的队伍视为不同队伍。问可以组成的队伍数。 解析:推一下,就是m*(Cn-1 ,1+ Cn-1 , 2+Cn-1 ,3+.......+Cn-1 , n-1 +1)然后 阅读全文
posted @ 2020-04-26 21:49 liyexin 阅读(220) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5158/H 解析:1e9,开不了这么大的pr[],所以采取离散化处理。假设输入了 10 12 ,可以把它们存到另一个数组now[]里:i=1,10 i=2,12,这样就可以把数字用坐标来代替,n只有1e6,所以pr[]开 阅读全文
posted @ 2020-04-26 00:19 liyexin 阅读(219) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1341 题意:找出含有山峰数最多区间的最左端点。 解析:一开始读错了,区间两边如果是peak的话是不能算的,要减去,我还以为是只看端点不是山峰的区间.....山峰数的话,用前缀和记录一下就好了,然后遍历的时候,减一下端点就行了。 # 阅读全文
posted @ 2020-04-25 23:33 liyexin 阅读(325) 评论(0) 推荐(0)
摘要:解析:把式子的x分出来,就是x*(2^0+2^1......+2^k-1)=n。所以先累加括号里的值打个表,只要n能整除它就输出 #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace 阅读全文
posted @ 2020-04-23 21:31 liyexin 阅读(212) 评论(0) 推荐(0)
摘要:解析:把这个式子展开,就是a^2-2ab+b^2。对于每个数的平方,都出现了n-1次。所以把每个数的平方加起来,乘(n-1)就可以了。对于2ab的部分,举个例子: 可以看出,是每个数乘上它之前的前缀和。所以答案就是"平方和*(n-1)-从第二个数往后每个数*(它之前的前缀和)*2"。注意取模,保证取 阅读全文
posted @ 2020-04-22 23:05 liyexin 阅读(205) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5338/A 解析:直接套bfs找最短路的板子就可以了,只是这里是三维,注意一下细节就行了。刚开始不知道三维怎么读入...... #include<iostream> #include<cstdio> #include<c 阅读全文
posted @ 2020-04-22 22:42 liyexin 阅读(155) 评论(0) 推荐(0)
摘要:题意:每次给出一个只含小写字母的字符串,如果之前没出现过,就输出YES,插入到数据库,否则输出 它+数字 的形式,数字按出现顺序排列。 解析:比如只输入a,会陆续出现a,a1,a2,a3......a10,a11。可以看出来,我们压根不需要每次判断当前字符串的上次出现是什么样子,其实本质上就是原字符 阅读全文
posted @ 2020-04-22 22:20 liyexin 阅读(209) 评论(0) 推荐(0)
摘要:题意:一辆车最多坐4人,同一组要坐在同一辆车上,不同组可以坐在同一辆车上,求最少需要的车辆数。 解析:WA了4次,因为我贪心贪错了,对组员为1 的来说,应该先往组员=3的车上补,而不是先往2的车上补。因为组员=2的组数可能会把几辆车塞满,这个时候没法补。而对于组员=3的,一定可以往上补。 #incl 阅读全文
posted @ 2020-04-22 22:13 liyexin 阅读(216) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5158/B 解析:先把数组排序,我们需要取某一段,这一段的最大-最小<=k,关键是取哪一段。可以对于每个数,往后找,找到第一个减它>k的,这中间一段就满足了任意两个数之差<=k了。找的过程可以用upper_lound(, 阅读全文
posted @ 2020-04-20 23:23 liyexin 阅读(152) 评论(0) 推荐(0)
摘要:地址:https://www.baidu.com/link?url=fJ5P3mDdJxPJPBMMaMXI6rddzPrI892EBzpxZQlF6sTvD1CnfcXu-4xpjLYvfolK&wd=&eqid=87db10e900010a0b000000045e9da0fc 题目描述 On B 阅读全文
posted @ 2020-04-20 22:40 liyexin 阅读(397) 评论(2) 推荐(0)
摘要:lower_bound和upper_bound均利用了二分查找算法,在一个数组中进行查数。 lower_bound(begin,end,x)-数组名。从begin位置到end-1位置,查找第一个大于等于x的数的位置。如果不存在,返回的是end upper_bound(begin,end,x)-数组名 阅读全文
posted @ 2020-04-19 00:27 liyexin 阅读(198) 评论(0) 推荐(0)
摘要:地址:http://poj.org/problem?id=2689 Description The branch of mathematics called number theory is about properties of numbers. One of the areas that has 阅读全文
posted @ 2020-04-18 22:31 liyexin 阅读(121) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1337 题意:给出a,b,c,d。从a~b~c~d三个区间内各找一个数,构成三角形。 解析:根据三角形的性质,输出a,c,c是一个可行解。记得从小到大输出,wa了1次。 #include<iostream> #include<vec 阅读全文
posted @ 2020-04-16 23:50 liyexin 阅读(188) 评论(0) 推荐(0)
摘要:地址:https://www.luogu.com.cn/problem/CF33C 题意: 给你一个序列,你可以选择它的前缀和后缀中的每个数字都乘以-1。前缀和后缀可以交叉也可以为空。 问能得到的最大序列和是多少。 解析:假设这个序列分成了三部分:A(前缀)+B(重合)+C(后缀) S=A+B+C。 阅读全文
posted @ 2020-04-16 23:06 liyexin 阅读(144) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/33/problem/B 很老的题了,今天被学长拉出来,就做做看。 题意:给出两个字符串,给出n个 a b x,表明字符a可以变成b,每次花费为x。问要想把这俩字符串变成一样的,最少花费多少。无法变就输出-1。 解析:刚开始以为,每次 阅读全文
posted @ 2020-04-15 21:53 liyexin 阅读(176) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1335 题意:将n分成a,b。保证a>b,问有几种分法 解析:偶数输出n/2-1,奇数n/2即可 #include<iostream> #include<cstdio> #include<cstring> #include<algo 阅读全文
posted @ 2020-04-14 20:03 liyexin 阅读(203) 评论(0) 推荐(0)
摘要:地址: https://codeforces.com/contest/1339 解析:最近a题题意都好长啊.....这道题直接看有几个竖着的菱形就可以了,输入n,输出n。 #include<iostream> #include<cstdio> #include<cstring> #include<a 阅读全文
posted @ 2020-04-13 20:33 liyexin 阅读(198) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1334 题意:给出n组同一时间的游戏完成数和消除数。按顺序排列。问是否符合实际。 解析:这个题意挺长,刚开始是有点懵的。根据题意,随着时间流逝,游戏数不会减少,消除数也不会减少(根据样例也能看出)。一个玩家成功完成一次,那么游戏数和 阅读全文
posted @ 2020-04-12 21:25 liyexin 阅读(181) 评论(0) 推荐(0)
摘要:地址:https://www.acwing.com/problem/content/284/ 题意:给一堆石子,相邻的合并,问最后得到的最小花费,花费具体算法在题里。 解析: 对于此题,根据常识,对于最终状态,是由两团合并的。所以定义dp[i][j]表示区间i-j合并的最小值。 二堆合并:dp[1] 阅读全文
posted @ 2020-04-11 23:44 liyexin 阅读(185) 评论(0) 推荐(0)
摘要:地址:https://cometoj.com/contest/76/problem/A?problem_id=4237 解析:这个题用DP解比较简单,其他的解法我并没有看懂。所谓波浪,单独一个数字不能算,两个数字一定算上。我们的二维dp,j=0表示下降或相等,j =1 表示上升。i 从0到n 转移方 阅读全文
posted @ 2020-04-11 23:41 liyexin 阅读(168) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=1087 题意:这个样例很误导人啊,这个题意呢,就是从起点跳到终点,保持递增跳而且得分最大。注意,起点和终点是不计分的; 解析:模板改一下就好了,之前求的是序列长度。这里求和,那么只要把dp初始化a[ ],依然 阅读全文
posted @ 2020-04-11 23:38 liyexin 阅读(203) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=1257 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const 阅读全文
posted @ 2020-04-11 23:36 liyexin 阅读(116) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/problemset/problem/455/A Alex doesn't like boredom. That's why whenever he gets bored, he comes up with games. One long winte 阅读全文
posted @ 2020-04-11 23:35 liyexin 阅读(178) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=1176 中文题意不多解释了。 建一个二维dp数组,dp[ i ][ j ]表示第 i 秒落在 j 处一个馅饼。我们需要倒着DP,为什么呢,从 0秒,x=5处出发,假如沿数组正着往下走,终点到哪里我们是不知道的 阅读全文
posted @ 2020-04-11 23:34 liyexin 阅读(133) 评论(0) 推荐(0)
摘要:之前就已经学过了,放在了本地,现在搬到博客园来~ 关于线段树的视频学习,强烈推荐B站此大佬的讲解:https://www.bilibili.com/video/BV1cb411t7AM 1.概念:线段树是一种二叉搜索树,与区间树相似。线段树是建立在线段或区间基础上的树,树的每个结点代表一条线段[L, 阅读全文
posted @ 2020-04-11 23:17 liyexin 阅读(141) 评论(0) 推荐(0)
摘要:地址:http://codeup.cn/problem.php?id=5974 题目描述 已知 n 个整数b1,b2,…,bn 以及一个整数 k(k<n)。 从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。 例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合 阅读全文
posted @ 2020-04-11 16:51 liyexin 阅读(321) 评论(0) 推荐(0)
摘要:#include<iostream> #include<cstring> using namespace std; const int maxn=1e3; int vis[maxn]; int p[maxn]; int n; int t=0; void dfs(int x) { if(x==n+1) 阅读全文
posted @ 2020-04-11 16:49 liyexin 阅读(136) 评论(0) 推荐(0)
摘要:和ACWING 844基本一样。但是这里要输出路径 我的做法是,pair一个ing[x][y],ing[x][y].first,ing[x][y].second记录x,y的前一个点。因为是逆序,所以又存进一个结构体里,再逆序输出,才变成正序了。 #include<iostream> #include 阅读全文
posted @ 2020-04-11 16:48 liyexin 阅读(131) 评论(0) 推荐(0)
摘要:地址:https://www.acwing.com/problem/content/846/ 走迷宫,从左上角走到右下角,0可走,1不可走,问最少需要几步。 BFS解法: 通过g[][]记录地图,d[][]初始化为-1用来保证一个点只能走一次以及记录每个点到达终点的距离。 注意:使用以下语句来实现队 阅读全文
posted @ 2020-04-11 16:46 liyexin 阅读(251) 评论(0) 推荐(1)
摘要:ACWING板子题地址:https://www.acwing.com/problem/content/description/845/ 题中已经说的很清楚了,什么叫n皇后。对于一个棋子的摆放,我们应该保证这个棋子所在位置的一列,斜方向和反斜方向没有棋子。怎么判断呢,我们引入bool类型的row[]数 阅读全文
posted @ 2020-04-11 16:45 liyexin 阅读(563) 评论(1) 推荐(1)
摘要:地址:http://codeforces.com/contest/1333 题意:满足条件:某块四周至少一个与它不同颜色。要求满足此条件的块数B=W+1。输出任意答案。 解析:想多了自己。其实只要把左上角染成W,其他全B就行了,W=1,B=2,满足条件。 #include<iostream> #in 阅读全文
posted @ 2020-04-10 20:41 liyexin 阅读(197) 评论(0) 推荐(0)
摘要:Problem Description Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a lot of samll squares. Water pipes 阅读全文
posted @ 2020-04-08 18:22 liyexin 阅读(193) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=1325 Is It A Tree? Problem Description A tree is a well-known data structure that is either empty (null, 阅读全文
posted @ 2020-04-07 21:01 liyexin 阅读(271) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=1272 Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走。但是她设计迷宫的思路不一样,首先她认为所有的通道都应该 阅读全文
posted @ 2020-04-06 23:23 liyexin 阅读(210) 评论(0) 推荐(0)
摘要:More is better Problem Description Mr Wang wants some boys to help him with a project. Because the project is rather complex, the more boys come, the 阅读全文
posted @ 2020-04-06 22:17 liyexin 阅读(125) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=3635 Dragon Balls Five hundred years later, the number of dragon balls will increase unexpectedly, so it' 阅读全文
posted @ 2020-04-06 22:02 liyexin 阅读(131) 评论(0) 推荐(0)
摘要:地址:http://poj.org/problem?id=1182 Description 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这 阅读全文
posted @ 2020-04-06 00:00 liyexin 阅读(174) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1332/problem/C 题意:给出长度为n的字符串,将它分成长度为k的若干个循环节,要求这些循环节为回文。操作是对单个字符进行更换,问最少需要操作多少次。 解析:每个i,下个循环节就有对应的si==si+k。所以这些循环节是要完 阅读全文
posted @ 2020-04-05 18:07 liyexin 阅读(166) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1330 题意:题意不太好理解。简单来讲就是,给出一组数,能从1最多数到几,不够的用数来填,最多填x次。 解析:从1往前数,没有就填,填x次。填完后,记得再往后数,数到map[i]==0为止。 #include<iostream> # 阅读全文
posted @ 2020-04-04 17:38 liyexin 阅读(266) 评论(0) 推荐(0)
摘要:地址:http://poj.org/problem?id=1988 Description Farmer John and Betsy are playing a game with N (1 <= N <= 30,000)identical cubes labeled 1 through N. T 阅读全文
posted @ 2020-04-03 16:47 liyexin 阅读(202) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1332 题意:一只猫,给出各个方向走多少次。给出初始坐标以及限制范围。不论走法,问是否会越界。 解析:这个题比较坑,比如样例二,如果只把猫限制到一条竖线或者一条横线上,那么只要存在左右走或上下走,一定会越界,这些一定要进行特判。其他 阅读全文
posted @ 2020-04-02 23:04 liyexin 阅读(260) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1332 题意:细节多多。请一定认真阅读题目! 给出n个合数,对他们进行染色。要求任意两个相同颜色的数gcd>1。颜色的种类不能超过11个。而且如果染了m中颜色,那么1-m都必须每个至少染一次。 解析:唯一分解定理:任何一个大于1的自 阅读全文
posted @ 2020-04-02 22:56 liyexin 阅读(204) 评论(0) 推荐(0)