05 2020 档案

摘要:地址:http://poj.org/problem?id=2155 题意: n*n的矩阵。初始为0。 C:x1,y1,x2,y2:围成的矩阵内数字反转:0/1 Q:x,y:查询a[x][y]为多少 解析: 还是差分 先把它想成一维:修改[l,r]:那么我们就更新d[L]+1,d[R+1]+1; 都+ 阅读全文
posted @ 2020-05-31 16:47 liyexin 阅读(196) 评论(0) 推荐(0)
摘要:地址:http://poj.org/problem?id=2029 题意: 给一个w*h的矩阵,n个坐标点被标记,给出s*t的矩阵,问它能容纳最多多少个标记点。 解析: 暴力枚举每一块区间,注意坐标点,比如定位i,j,左上角点应该为:i-s+1,j-t+1。算的时候还是那一套,画图更容易理解。 接下 阅读全文
posted @ 2020-05-30 22:44 liyexin 阅读(164) 评论(0) 推荐(0)
摘要:地址:http://poj.org/problem?id=2481 题意:n只羊,每只羊占有一个[S,E]。如果一只羊的区间囊括它,而且长度比它长,就说明这只羊比它大。求每只羊比它本身大的羊的数目。 解析: 这道题和LOJ10114数星星:https://www.cnblogs.com/liyexi 阅读全文
posted @ 2020-05-30 18:28 liyexin 阅读(175) 评论(0) 推荐(0)
摘要:地址:http://poj.org/problem?id=1195 题意: 0 s: s*s的初始为0的矩阵a[][] 1 X Y A:a[x][y]+A 2 L B R T:左上角a[L][B]到右下角a[R][T]的矩阵和。 解析: 二维数组数组板子,和一维基本类似: void update(i 阅读全文
posted @ 2020-05-30 16:36 liyexin 阅读(196) 评论(0) 推荐(0)
摘要:A:http://codeforces.com/contest/1359/problem/A 题意: n张牌,m张王,k个人,每个人分得n/k张牌,得分为手中王牌数-其他人中所拥有的最大王牌数。存在多个,输出0分。 解析: a题依然是熟悉的分类讨论~先分第一个人,再分给其他人,分类讨论。关键是这个n 阅读全文
posted @ 2020-05-29 22:10 liyexin 阅读(162) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=4911 题意:可以进行k次相邻数的交换,问交换后还有多少个逆序对。 解析: 两种 nlog(n)的做法: 一: 归并排序 直接套模板即可。 归并排序,两次递归后,得到的是内部已经排好序的两组,所以只要有一个a 阅读全文
posted @ 2020-05-28 18:09 liyexin 阅读(209) 评论(0) 推荐(0)
摘要:来自VJ的地址:https://vjudge.net/problem/UVA-1339 题意: 不是很容易理解。 两个字符串,对其中的一个进行操作,可以将它任意排列,然后将所有相同的字符随意映射成其它另一种字符,问是否能和另一个字符串相同。 解析: 随意排列,所以这个不用管。 要想相同,必须保证操作 阅读全文
posted @ 2020-05-27 23:52 liyexin 阅读(121) 评论(0) 推荐(0)
摘要:A:https://codeforces.com/contest/1358/problem/A 题意: n*m格子,灯只能放在每条街中间位置,求最少的灯来点亮所有的格子。 解析: 做这种题有点小阴影。生怕错过哪个情况,所以总是写的很繁琐。 分类讨论即可 #include<iostream> #inc 阅读全文
posted @ 2020-05-27 17:52 liyexin 阅读(183) 评论(0) 推荐(0)
摘要:A:http://codeforces.com/contest/1360/problem/A 题意: 用最小正方形,容下两个相同矩形。 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using na 阅读全文
posted @ 2020-05-26 20:13 liyexin 阅读(201) 评论(0) 推荐(0)
摘要:参考博客:https://www.cnblogs.com/chengxiao/p/6194356.html sort不稳定。归并排序是较为稳定的一种排序算法 复杂度:nlogn 本排序的一个应用:HDU 4911 求逆序对数量:http://acm.hdu.edu.cn/showproblem.ph 阅读全文
posted @ 2020-05-24 19:00 liyexin 阅读(145) 评论(0) 推荐(0)
摘要:地址:http://poj.org/problem?id=2985 题意: 输入n,m。共n只猫,m组询问。 1,L,R。L号猫所在组和R号猫所在组合并 0,x。查询第x大组有几只猫。 解析: 理解了好久的说。。。最最重要的还是树状数组的本质要理解好,要不代码写再多也没用。 树状数组:c[i]表示所 阅读全文
posted @ 2020-05-24 18:57 liyexin 阅读(207) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5713/A 解析: n=10,最多是n!种不同的排列方式。 所以可以暴力枚举每一种情况:next_permutation(); id[]记录每个点的标号,对它进行全排列。d[i][j]表示i点到j点的距离,枚举所有情况。 阅读全文
posted @ 2020-05-22 23:32 liyexin 阅读(198) 评论(0) 推荐(0)
摘要:地址:https://codeforces.com/problemset/problem/1202/D 题意:给出n,构造含有n个子1337的字符串。 解析:本来想的是1.....1337的,但是看数据s=1e5,而n达到了1e9,显然不行。 对于n的贡献,3是最大的,而7又是消耗最少的。所以可以构 阅读全文
posted @ 2020-05-21 23:53 liyexin 阅读(171) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/problem/206047 解析: 对于整个的区间[1,n],如果有一个数只出现了一次,下标为x,那么有:[1,x,n],对于里面的任意区间,只要涉及到x,它直接就是好序列。 所以就把区间分成两部分:[1,x-1][x+1,n]。 接下 阅读全文
posted @ 2020-05-21 22:37 liyexin 阅读(254) 评论(0) 推荐(0)
摘要:B:http://codeforces.com/contest/1354/problem/B 题意: 找出同时含有1,2,3的最短序列的长度。 解析: 比赛代码被hack了,超时。赛后看了题解,才觉得自己真是太蠢了。 p[1],p[2],p[3]来记录最后出现对应数字的位置。当三者都出现时,更新最小 阅读全文
posted @ 2020-05-19 18:14 liyexin 阅读(262) 评论(0) 推荐(0)
摘要:A:http://codeforces.com/contest/1355/problem/A 题意: 每次加这个数每一位的最大和最小的乘积,求第K次的结果。 解析: 直接模拟即可,但是有一个TLE点,就是当最大或最小=0时,就需要终止了,因为再加下去值就不变了。 #include<iostream> 阅读全文
posted @ 2020-05-19 17:39 liyexin 阅读(139) 评论(0) 推荐(0)
摘要:A: http://codeforces.com/contest/1353/problem/A 题意:构造出一个长度为n的序列,sum=m。求出最大的相邻差值的绝对值之和。a[]>=0。 解析:由于最小为0,所以可以这么构造:0,x,0,x,0,x......x为sum的平均值。那么结果总的就是2* 阅读全文
posted @ 2020-05-15 17:04 liyexin 阅读(227) 评论(0) 推荐(0)
摘要:A: http://codeforces.com/contest/1350/problem/A 题意:f(n)+n,求第k次的结果。f(n)为n的最小公因数。 解析:模拟一下,就可以看出,这是一个d=2的等差数列,第一项是f(n)+n,求第k项。所以先把f(n)求出来。 #include<iostr 阅读全文
posted @ 2020-05-13 20:18 liyexin 阅读(171) 评论(0) 推荐(0)
摘要:地址:http://acm.hdu.edu.cn/showproblem.php?pid=1754 解析:先说update操作。c[]表示所管辖的区间范围里的最大值。 void update(int id,int x) { while(id<=n) { c[id]=x; for(int i=1;i< 阅读全文
posted @ 2020-05-12 18:24 liyexin 阅读(471) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5477/A 解析:刚开始,集合里有a,b。然后张拿了一个数p,满足a+b/a-b,放入集合。不断进行的话,集合里就会存在各种的a*x+b*y了。所以如果p可以被拿走,是要满足:a*x+b*y=p的。那么p就是gcd(a, 阅读全文
posted @ 2020-05-11 18:51 liyexin 阅读(162) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1352 题意:将给出的数拆成最少的d000,,,形式 解析:拆的话,太麻烦,直接用string即可 #include<iostream> #include<cstdio> #include<cstring> #include<map 阅读全文
posted @ 2020-05-11 17:27 liyexin 阅读(165) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5477/F 解析:其实并不需要关心它具体是怎么构造的,那样的是很麻烦的。。。明确一点,某个位置出现的次数越多,就需要给它赋越大的值,既当前sum=出现次数*x。出现次数,可以通过差分数组或线段树维护一下,然后排个序,按顺 阅读全文
posted @ 2020-05-10 23:41 liyexin 阅读(142) 评论(0) 推荐(0)
摘要:地址:https://loj.ac/problem/10114 解析:由于坐标是按y递增排序,所以对于一个点来讲,只看之前x小于等于它的就可以了。那么对于输入的每个点,求之前x小于等于它的,就得用树状数组维护。树状数组c[i]表示x=i时,它之前x小于等于它的有几个点。个数就是级数,num[]来记录 阅读全文
posted @ 2020-05-08 21:55 liyexin 阅读(206) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1345 题意:按图中规则堆金字塔,给出n个材料,尽量往高的堆,问可以堆出多少个金字塔。 解析:可以推出每个金字塔所需材料数:2,2+5,2+5+8,2+5+8+11.......可以打表,然后二分找>=n的第一个位置,n减去它直到n 阅读全文
posted @ 2020-05-07 18:46 liyexin 阅读(200) 评论(0) 推荐(0)
摘要:Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to 阅读全文
posted @ 2020-05-06 21:17 liyexin 阅读(126) 评论(0) 推荐(0)
摘要:本地搬运~ 关于树状数组的学习,强烈推荐这个视频:https://www.bilibili.com/video/av26371798?from=search&seid=2141442207537065040 1:树状数组:查询和修改复杂度都为log(n)的数据结构,本身可用于单点修改区间查询,加入辅 阅读全文
posted @ 2020-05-06 20:54 liyexin 阅读(165) 评论(0) 推荐(0)
摘要:地址:http://codeforces.com/contest/1348 题意:2^1,2^2....2^n,分成两部分,使两部分的差最小。 解析:可以发现,n越大,2^n越大,和前面的差距越来越大。所以第一部分先把2^n先加入,再陆续加入2^1,2^2.....直到n/2个即可。 #includ 阅读全文
posted @ 2020-05-03 20:13 liyexin 阅读(158) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5338/B 解析:dfs超时了....其实对于每个可到达点来讲,它的来源是左和下,所以有:dp[i][j]=(dp[i+1][j]+dp[i][j-1]) 题目给出了快速读入模板: template<class T>in 阅读全文
posted @ 2020-05-02 16:56 liyexin 阅读(231) 评论(0) 推荐(0)
摘要:地址:https://ac.nowcoder.com/acm/contest/5338 解析:这道题用python的话,也就几句代码的事~c++的话,用stack模拟即可,stack是先进后出,所以很符合本题要求。因为输入*,再输入一个数的话,肯定是先乘它之前最后出现的数。把乘出来的数放进stack 阅读全文
posted @ 2020-05-02 15:36 liyexin 阅读(281) 评论(0) 推荐(0)