03 2021 档案

摘要:题目链接 数位DP板子题 数位DP知识点: AC代码如下: #include<bits/stdc++.h> using namespace std; typedef long long ll; int a,b,lim[15],dp[10][10];//第一维表示位数,第二维表示首数字是谁。dp表示这 阅读全文
posted @ 2021-03-31 22:55 mikku 阅读(80) 评论(0) 推荐(0)
摘要:本题的m最大也才20.那么就轻松状压DP。 关于状压DP: 因此我们开个vis数组记录需要选几袋,再开个ki数组记录下每种情况状态压缩后的值即可。 AC代码如下: #include<bits/stdc++.h> using namespace std; typedef long long ll; i 阅读全文
posted @ 2021-03-30 23:01 mikku 阅读(76) 评论(0) 推荐(0)
摘要:A. GCD SUM 本题题意是求该数和该数各数位相加的gcd。找到最小的大于等于该数的gcd不为1的值即可。 由于被3整除的数,其各数位相加也被3整除。故每3个数一定有一个满足条件。故直接暴力计算即可。 AC代码如下: #include <iostream> #include <vector> # 阅读全文
posted @ 2021-03-30 16:42 mikku 阅读(66) 评论(0) 推荐(0)
摘要:题目链接 这个round做的很差。不知道是因为在学校不习惯还是因为自己又菜了。 比赛时做了3题,第4题一直wa。后来发现忘记判断奇偶性了,第二天起床试了一下就A了。所以勉强算我A了4题吧。 但这次前4题我都没有一发a的。A~D都在test 2上wa过……(太难过了) 接下来就是题解吧: A.Stra 阅读全文
posted @ 2021-03-26 23:46 mikku 阅读(53) 评论(0) 推荐(0)
摘要:G. 根据每个店的每一单进行处理即可。用一个vector记录每个店在哪个时间有订单,再对时间进行升序排序。令第一个订单的时间的优先度为2.下一个订单的优先度为下一个订单的时间和上一个的时间差。如果时间差为1或者0则不用减去直接加2即可。如果上一个订单的优先度减去时间差后小于0,则重置为0.如果减去时 阅读全文
posted @ 2021-03-25 21:45 mikku 阅读(88) 评论(0) 推荐(0)
摘要:测试用例如下: 01010101001011001001010110010110100100001000101010 00001000100000101010010000100000001001100110100101 0111101101001000100000110100101110001100 阅读全文
posted @ 2021-03-25 21:41 mikku 阅读(79) 评论(0) 推荐(0)
摘要:三题滚粗。(至少现在可以稳3题了呜呜) A.Domino on Windowsill 本题是贪心的思想。如果第一行和第二行白色块的个数相同,那么全摆成竖的。白色块的数量最多为k1.如果不同就看他们之间的差值为多少,那么就能在插入差值除以2个白色块。即min(k1,k2)+abs(k1-k2)/2.黑 阅读全文
posted @ 2021-03-25 21:38 mikku 阅读(53) 评论(0) 推荐(0)
摘要:D. The Number of Pairs c⋅lcm(a,b)−d⋅gcd(a,b)=x. 由于lcm是gcd的倍数。则x也是gcd的倍数 由上式可得lcm(a,b)= (x+d*gcd(a,b))/c. 故x+d*gcd(a,b)是c的倍数。 故遍历1~sqrt(x),若该数能被x整除,则该数 阅读全文
posted @ 2021-03-25 21:36 mikku 阅读(57) 评论(0) 推荐(0)
摘要:C. Basic Diplomacy 这题的构造条件其实相当宽松。只要先判断一个人的只能选择那个人的天数是否大于(m+1)/2。(即对于1个数有11,11,11,11,212。那么只能选择1的天数为4天)如果有人满足这个条件,则返回NO,否则一定可以构造一个序列满足条件。因为若没有一个人的只能选择天 阅读全文
posted @ 2021-03-25 21:35 mikku 阅读(65) 评论(0) 推荐(0)
摘要:A.Prison Break 如果有m*n个小房间,那么就有m*n个房间需要被打破,即每个房间至少要有一堵墙被打破。根据观察得出也不能是同一堵墙,故为m*n面墙需要被打破 AC代码如下: #include<bits/stdc++.h> using namespace std; typedef lon 阅读全文
posted @ 2021-03-25 21:33 mikku 阅读(54) 评论(0) 推荐(0)
摘要:E1. Square-free division (easy version) 本题的题意是分串,要求串中任意两个数相乘不能是完全平方数。 首先注意到一个数可以分解为a=p1^a1*p2^a2*p3^a3*p4^a4; 那么如果a*b为完全平方数,即他们的每个质因子的幂全都为偶数。 那么对于单个数我 阅读全文
posted @ 2021-03-25 21:32 mikku 阅读(48) 评论(0) 推荐(0)
摘要:本次终于A了3题(c-1,c-2就算一题啦) Meximization 先去重,然后对前面不重复的部分排序,后面的顺序任意即可。一开始用了unique。 后来才发现他并不是前面不重复,将重复的放在后面,而是将前面重复的用后面不重复的元素替换了。固不能用unique,因为数据小,就也没多想,用vis记 阅读全文
posted @ 2021-03-25 21:30 mikku 阅读(45) 评论(0) 推荐(0)
摘要:题意: 给两个数组代表吊灯的颜色,且不断循环,如果同一天吊灯的颜色不同,老板就会生气,。多少天后老板会生气k次 本题是先用excrt求出一段循环(LCM(A,B))中颜色相同的天数。然后总天数减去颜色相同天数即为一次循环中老板生气次数。 将k整除一次循环老板生气次数,再模一下得出在最后一次循环中的第 阅读全文
posted @ 2021-03-17 21:04 mikku 阅读(66) 评论(0) 推荐(0)
摘要:题目大意: 给定长度为 n 的序列 a,求出任意一组 x,y,z,w 满足: x,y,z,w 互不相同; ax+ay=az+aw; 如果有解,输出一行 YES 后输出任意一组解;否则输出一行 NO。 本题有两个思路。基本都是暴力。 思路一: 转化为差分数组。由ax+ay=az+aw可化为ax-az= 阅读全文
posted @ 2021-03-17 17:13 mikku 阅读(111) 评论(0) 推荐(0)
摘要:题目链接 这题与校赛的第二题AABB是一样的。同样也是最难的几道题。 本题是求给定的字符串的最长的回文子串长度。 我们先来看看求最长回文子串长度的方法。 方法一.暴力 直接暴力枚举一个起点和终点,再判断这个子串是否为回文。 枚举点的过程是n2,判断过程是n。总的为O(n3)的最坏情况。 这时间复杂度 阅读全文
posted @ 2021-03-16 22:04 mikku 阅读(279) 评论(0) 推荐(0)
摘要:这次校赛虽然水题较多。但还是铩羽而归(应该没用错词)。 那么毫无疑问归根结底还是我太菜了。 因此先来总结一下原先能A但没A出来的题或者A出来了但是走了弯路的题吧! 由于题目没有再度公开(老师说了会有重现。先等着吧)。不过题解里有些题写了题意(有些略掉了……) 因此就先混着来 T2: 签到(关于时间的 阅读全文
posted @ 2021-03-15 21:28 mikku 阅读(212) 评论(0) 推荐(0)
摘要:今天打校赛打自闭了…… 今天就水一下昨天的B题的另一种比较好的做法吧(#摸鱼) 明天再奋斗吧orz 首先思路还是差分标记区间之后再计算前缀和。 那么具体应该怎么做呢。 对于每一层,我们应该从该层向下渗透,找到渗透的最底层(如果渗透完了就是第1层)。然后令其值+1.再令该层的上面一层的值-1。 这样计 阅读全文
posted @ 2021-03-14 21:20 mikku 阅读(99) 评论(0) 推荐(0)
摘要:……又是两题滚粗……orz(人生重来算了)(不过好像based on Moscow Open Olympiad in Informatics,所以变难了不少(挠头),所以肯定不是我的问题) A.Alexey and Train 本题是一道模拟题。首先各车站之间所需要的时间是不变的,a[i]-b[i- 阅读全文
posted @ 2021-03-13 21:19 mikku 阅读(80) 评论(0) 推荐(0)
摘要:关于exgcd的方方面面。这篇题解我认为是讲的最清楚的了。 P1082 [NOIP2012 提高组] 同余方程 x,y的递推公式就不说了。x=y1,y=b(x1-(a/b)*y1) (自己列式子算吧) 对于x和y的改变。令x+=kb.则原式子为ax+by=m变为a(x+kb)+by-kab=m >a 阅读全文
posted @ 2021-03-12 19:22 mikku 阅读(69) 评论(0) 推荐(0)
摘要:首先了解乘法逆元的意义。 乘法逆元即a*x=1(mod p).a的逆元就是那个x 如果我们有ans=(a*b*c)mod p 那么如果我们要得到(b*c)mod p.则不能简单的除a。 而要让(ans*x) mod p.从而消除a的影响。 做法一: 同余方程(TLE__555ms)(且模数可以不为质 阅读全文
posted @ 2021-03-12 19:18 mikku 阅读(116) 评论(0) 推荐(0)
摘要:题目链接 官方题解 C. Diamond Miner 这题不应该做不出来的……主要是第二题用的是我不怎么用到的set并且花了很久。所以慌了(嗯,一定是这样) 由于距离计算只与坐标绝对值有关。故将负的值都转换为正值。 然后分别对于x和y排序即可。顺序摆放的代价一定不劣于逆序摆放 设x1<x2,y1<y 阅读全文
posted @ 2021-03-11 13:34 mikku 阅读(88) 评论(0) 推荐(0)
摘要:本场链接 第一次参加cf。。 只过了前两题呜呜以通过system test 先贴一下代码 思路明天再贴吧。学习去了orz A. Split it! 本题就是判断回文字符串。且有一个ak+1能够暂时摆脱回文限制。 故只要令前面和后面相同的字符数大于等于k即yes。 #include<cstdio> # 阅读全文
posted @ 2021-03-10 22:16 mikku 阅读(57) 评论(0) 推荐(0)
摘要:Description A particular subgroup of K (1 <= K <= 25,000) of Farmer John's cows likes to make trouble. When placed in a line, these troublemakers stan 阅读全文
posted @ 2021-03-10 20:02 mikku 阅读(219) 评论(0) 推荐(0)
摘要:题目链接 本题是kmp的模板题。最后一行将1~n的next数组输出即可。 kmp我是通过这个博客和kuangbin的acm模板然后搞清楚的。 一开始觉得还挺麻烦的。多练几次就好了qwq AC代码如下: #include<cstdio> #include<algorithm> #include<cst 阅读全文
posted @ 2021-03-10 16:28 mikku 阅读(40) 评论(0) 推荐(0)
摘要:Problem Description The evil Bumbershoot corporation produces clones for gruesome experiments in a vast underground lab. On one occasion, the corp clo 阅读全文
posted @ 2021-03-09 22:14 mikku 阅读(56) 评论(0) 推荐(0)
摘要:今天听了下蓝桥杯的大赛备赛直播课。感觉还挺水的……(不过有些思维还是值得学习的) 去年(11届)省赛倒数第三题: 不知道哪届的(这个set里面用pii还不是很懂(也可以用并查集来做)) 阅读全文
posted @ 2021-03-09 21:54 mikku 阅读(57) 评论(0) 推荐(0)
摘要:题目链接 本题的思路是用dijkstra一遍图中的每个点。但由于有负边。我们需要将其转正。 这时需要建立一个超级源点。令其与每个点相连且距离为0。spfa一遍求出每个点到源点的最短距离dis【i】(可能为负数) 然后修改每条边的权值为w【i~j】+dis【i】-dis【j】(i到j的边)。 由于i~ 阅读全文
posted @ 2021-03-08 21:43 mikku 阅读(86) 评论(0) 推荐(0)
摘要:Problem Description A group of n cities is connected by a network of roads. There is an undirected road between every pair of cities, so there are roa 阅读全文
posted @ 2021-03-07 21:12 mikku 阅读(71) 评论(0) 推荐(0)
摘要:Problem Description 将N个点排列成一个圆形,中间放置一个点固定为根节点,问特殊生成树的种类数。 特殊生成树:除根节点以外,其他节点只能与自己左右节点相连,或与根节点相连。 p.s.若节点的左右节点为同一个节点,向左或向右连接视为不同的生成树。 由于种类数可能过大,对1,000,0 阅读全文
posted @ 2021-03-06 20:51 mikku 阅读(95) 评论(0) 推荐(0)
摘要:问题描述 给出一个含有n个点的树。你从树上钦定三个不同的点a,b,c,如果一个边在其中两个点的简单路径上,它就是“好边”。你需要求出最多有多少个"好边",并且输出任一一种选定a,b,c的方案。 输入格式 第一行一个整数n。接下来n-1行每行两个数a,b表示一条边的两个端点。 输出格式 第一行一个数表 阅读全文
posted @ 2021-03-05 20:18 mikku 阅读(78) 评论(0) 推荐(0)
摘要:Problem Description You're given an undirected graph with n nodes and m edges. Nodes are numbered from 1 to n. The graph is considered harmonious if a 阅读全文
posted @ 2021-03-04 20:34 mikku 阅读(67) 评论(0) 推荐(0)
摘要:Problem Description You are given an undirected graph consisting of nn vertices and mm edges. Your task is to find the number of connected components 阅读全文
posted @ 2021-03-04 18:58 mikku 阅读(85) 评论(0) 推荐(0)
摘要:题目链接 一开始没注意到他的边是非负就是双向的。所以一直wa…… 用SPFA。bfs判断是否有一个点进入次数超过n即可。 #include <algorithm> #include<iostream> #include<cstdio> #include<cstring> #include<vecto 阅读全文
posted @ 2021-03-03 20:00 mikku 阅读(54) 评论(0) 推荐(0)
摘要:题目链接 使用优先队列优化后的Dijkstra即可。 注意优先队列默认是大堆顶。(即大数在前) 可以用priority_queue<int,vector<int>,greater<int>>q; 来改写成小堆顶来寻找最小距离。 #include <algorithm> #include<iostre 阅读全文
posted @ 2021-03-03 17:16 mikku 阅读(130) 评论(0) 推荐(0)
摘要:题目链接 反向建边+dfs。从最大值开始搜索。 AC代码如下: #include <algorithm> #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include<queue> #define MA 阅读全文
posted @ 2021-03-03 16:34 mikku 阅读(51) 评论(0) 推荐(0)
摘要:Problem Description You are given an array aa consisting of n integers. In one move, you can jump from the position ii to the position i−ai (if 1≤i−ai 阅读全文
posted @ 2021-03-02 17:25 mikku 阅读(45) 评论(0) 推荐(0)
摘要:Problem Description 小时候,你一定玩过七巧板对吧?由七块彩色的方块组成,能够拼成各种有趣而生动的图案。 shenyunhan 发明了一种新的玩具叫方块板,它由大大小小的矩形方块组成。如下图所示,方块板玩具是由若干块不同颜色的小矩形方块组成的大矩形方块。 我们将这个方块板玩具视为二 阅读全文
posted @ 2021-03-01 19:34 mikku 阅读(110) 评论(0) 推荐(0)
摘要:Problem Description 泰泰学长喜欢玩数字(不知道什么奇怪的癖好)。他在黑板上写下一个数字 x ,然后进行 n-1 次以下两种操作: x 除以3 (必须能整除才能进行,即 x mod 3=0) x 乘以2 每次操作完成后,泰泰学长在黑板上写上这个操作后的新数字,并让这个新数字作为新的 阅读全文
posted @ 2021-03-01 15:23 mikku 阅读(69) 评论(0) 推荐(0)