![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
杂记
文章平均质量分 72
mumei314
这个作者很懒,什么都没留下…
展开
-
我的复健计划
我回来了从7月开始已经停了将近1个月了,最近要开始着手复建了。目前想的是,先会更新一些刷题(力扣Top100和每日一题)中遇到的有意思的题目。然后周末有时间的话会更一下最近一段学习的总结+反思(前端,八股等等都有可能)。...原创 2021-08-03 23:55:10 · 184 阅读 · 1 评论 -
2021天梯赛解题报告
2021天梯赛题解L1L1-1(签到题,略过)L1-2(输出n-m*k)L1-3(分情况判断)L1-4(枚举判断)L1-5把所有数都存入数组里面,按下标取然后判断就行了。L1-6第一发过了14分就没管,赛后check原代码发现有个bug当时没注意。注意不能m==0m==0m==0时立刻输出,还需要判断一下当前串是否能跳过。判断串直接用C++中string自带的find函数即可,注意判断是否到结尾是用s[i].find("qiandao")==s[i].nposs[i].find("q原创 2021-04-28 15:32:34 · 1145 阅读 · 0 评论 -
Codeforces Round #656 (Div. 3)——ABCDEF解题报告
Codeforces Round #656 (Div. 3)比赛链接:https://codeforces.com/contest/1385A. Three Pairwise Maximums题解对aaa,bbb,ccc进行排序。当最大值不等于次大值表示不可能,因为肯定有一个最大数会出现两次。否则的话输出一种构造方案即可:最小值,最小值,最大值代码#include <bits/stdc++.h>#define PI atan(1.0)*4#define rp(i,s,t)原创 2021-03-18 11:58:49 · 125 阅读 · 0 评论 -
周行新春码拉松第二赛道——题解+代码
本题解参加2021周行新春码拉松比赛链接Problem.A 等差数列题解我们需要知道等差数列前n项和的第二个公式,不知道的话直接手推也行。公式:Sn=n∗a1+n∗(n−1)∗d2S_{n}=n*a_{1}+\frac{n*(n-1)*d}{2}Sn=n∗a1+2n∗(n−1)∗d公式里面的d=a2−a1d=a_{2}-a_{1}d=a2−a1,然后直接带入公式即可。trick:数据范围会爆int,注意开long long。代码#include <bits/stdc++.h原创 2021-02-09 23:01:47 · 154 阅读 · 0 评论 -
Codeforces Round #691 (Div. 2)ABC——解题报告
比赛链接https://codeforces.com/contest/1459A - Red-Blue Shuffle直接求出ai>bi和ai<bi的个数就行了,如果ai>bi比较多则输出RED,如果ai<bi比较多则输出BLUE,相等的话输出EQUAL证明:首先ai==bi的情况不用考虑,因为不论怎么排列,对应位置都是相等的。然后考虑ai>bi的情况,当ai和bi都在第一位时,RED的个数会加一,ai<bi的情况同理。最后比较一下RED的..原创 2021-01-19 19:50:35 · 213 阅读 · 0 评论 -
GDUT2020新生赛——解题报告
比赛链接https://ac.nowcoder.com/acm/contest/9692#questionA题——肥猪的钢琴床一道挺不错的dp+结论题。首先最终的字符串的形式肯定是0...01...10...0这种,分为三个部分,第一部分的全0,中间部分的全1,最后一部分的全0。我们定义状态dp[i][1/2/3]表示第i个字符属于第几个部分时最少需要删除的字符数量。状态转移方程:dp[i][1]=dp[i-1][1]+(s[i]=='1')当第i个字符属于第一部分时,.原创 2021-01-14 20:31:53 · 375 阅读 · 0 评论 -
牛客巅峰训练赛S2钻石&王者——补题
第五场求一个树的非严格第二直径,我们首先可以直接求出树的直径,并记录下直径的两个端点,然后我们考虑分别以这两个端点进行bfs,记录最大深度以及最大深度的个数,判断最大深度个数是否大于等于二,如果满足条件,答案就是最大深度,否则答案就是最大深度-1.#define rp(i,s,t) for (int i = (s); i <= (t); i++)int vis[100007];int dis[100007];vector<int> G[100007]; int a.原创 2021-01-13 12:14:27 · 166 阅读 · 0 评论 -
2020河南省赛F题——二分+2-SAT
题目链接http://acm.zzuli.edu.cn/problem.php?cid=1566&pid=5题解首先不难想到可以二分枚举答案,然后再判断枚举的答案是否合法,因此关键就在于这个怎么能够快速地判断是否合法了。根据题意我们可以发现一个景点最多有两种状态,要么不是商业区(值为a[i],用i来表示),要么是商业区(值为b[i],用i+n表示)。因此可以联想到图论中经典的2-SAT问题,之后就只需要考虑怎么建图了。我们可以直接枚举每条边的两个点的所有状态,即x不是..原创 2021-01-08 21:16:52 · 177 阅读 · 0 评论 -
牛客小白月赛29 DIJ题——解题报告
题目链接:https://ac.nowcoder.com/acm/contest/8564I题修改题解:比较巧妙的转换成图论的好题,思路感觉不太好像,不过感觉是个经典题(雾)。因为初始的序列是随机,不妨假设序列的每一位的数都不一样,即最复杂的情况。然后我们考虑这个操作的意义,第i次操作其实就是把的值变成的值,我们可以建一个虚点a[n+1]=0。这样操作就变成了在和建一条权值为的边,具体的含义上面解释过了。这样最终的答案不就是求我们建的图的最小生成树的权...原创 2020-11-20 17:16:33 · 184 阅读 · 0 评论 -
杭电多校第三场 Triangle Collision——思维+二分
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6798题意:给你一个等边三角形的坐标,以及等边三角形内运动的球的坐标和速度,当这个球在三角形碰撞到一条边反射时,反射角等于入射角,且速度不会变,即没有碰撞损失,现在让你求出第k次碰撞的时间。题解:这个题的难点在于怎么把题意转换成比较好求的方法。官方题解给的方法是把这个等边三角形不断对称,直至铺完整个平面。这样就不用考虑反射了。题意就转换成了小球的运动轨迹会穿过多少轨迹线,不难发现只有与x轴平.原创 2020-09-19 12:39:59 · 227 阅读 · 0 评论 -
2017浙江省赛F - Heap Partition ——贪心+stl+二分
题目链接https://zoj.pintia.cn/problem-sets/91827364500/problems/91827370090题意:给你一个长度为n的序列,然后让你求出把这个序列分成最少个数的"堆子序列",请输出"堆子序列"的个数和方案。堆子序列:一棵n个节点的二叉树,对于一个非根节点,节点的值小于等于儿子节点的值,且下标小于儿子节点的下标。题解:不难想到解法就是从前往后枚举,并维护一个存储不同树对应节点的结构,然后贪心的把当前数插入到最大的小于当前值的节点的下.原创 2020-09-14 20:58:02 · 298 阅读 · 0 评论 -
2020牛客多校第二场总结+反思+题解(BCDFJ)
题目链接:2020牛客暑期多校训练营(第二场)题解B题Boundary题意给你n个点,考虑这选一个经过原点的圆,并且这个圆经过这n个点的个数最多,求这个最多的点数。题解这个题的做法挺多的,可以枚举圆心或者半径,也可以枚举圆周角(题解的做法)。时间复杂度:O(n^2logn)首先我们需要知道一个定理:三个点可以确定一个圆。做法一:枚举圆心或者半径现在我们已知一个原点(0,0),然后我们可以枚举两个点,然后求出三个点形成的圆的圆心,并记录圆心的最大出现次数,.原创 2020-07-15 17:54:37 · 429 阅读 · 1 评论 -
Rinne Love Xor——异或性质
题目链接:https://ac.nowcoder.com/acm/contest/5505/B题解:首先我们要分析一下这个公式原创 2020-04-30 15:30:53 · 161 阅读 · 0 评论 -
小H和游戏——dfs序+树状数组 | 思维
题目链接:https://ac.nowcoder.com/acm/contest/5203/D题目大意:给你一棵n个节点的树,然后有q次轰炸,每次轰炸可以波及到与当前节点距离小于等于2的节点,并输出该次轰炸后当前节点的被轰炸次数。题解:解法一:树状数组(线段树)+dfs序这个题先讲相对而言时间复杂度比较高的解法,但是比较好想,容易理解。首先我们可以求出每个点的儿子编号...原创 2020-04-28 01:22:09 · 236 阅读 · 0 评论 -
2019ECfinal H - King ——随机算法|推结论
题目链接:http://codeforces.com/gym/102471/problem/H题目大意:给你一个长度为n的序列,要你求这个序列中的最长国王子序列长度,如果长度小于n/2,输出-1,否则输出长度。国王序列定义:对于一个序列a1,a2,a3,.....,an。当且仅当有一个整数q(1<=q<p)使得,且 q*ai-1= ai (mod p)。题解:...原创 2020-03-17 15:18:22 · 889 阅读 · 0 评论 -
2019EC E - Flow——贪心+规律
题目链接:http://codeforces.com/gym/102471/problem/E题目大意:给你n个点的一个简单图(即保证所有从1到n的路径上的点数都是相等的,且这些路径没有交点)然后有一种操作,给一条边上的容量减一,另一条边的容量加一,问最少执行多少次操作使得从1到n的最大流最大。题解:这个题的关键在于读题,需要注意到这个图的特点。首先我们不难想到图的最...原创 2020-03-17 13:30:59 · 250 阅读 · 0 评论 -
2019ICPC徐州站重现赛——ACFM题解
比赛链接:https://www.jisuanke.com/contest/5529?view=challengesA - Cat题解:先打出异或前缀和的表,不难发现当在偶数位置pos时,[pos,pos+3]这些数的异或和为0,这意味着中间的序列可以每四个四个的连一起,因为他们异或和的值为0,因此我们就可枚举开头和结尾的位置,并维护最大长度。代码实现:...原创 2020-03-07 23:49:25 · 335 阅读 · 0 评论 -
2019牛客国庆集训派对day4H题
题目链接:https://ac.nowcoder.com/acm/contest/1109/H题意:给一棵带边权的树,现在要求新建一棵树,新树里(u,v)的边权等于原树中(u,v)的唯一路径的距离。现在要你找出最大的花费来建造这颗新树。题解:很容易知道这个题的求出这个树的两个直径端点,其他每个点到这两个端点的最大距离和就是答案。之后就是求该树的直径端点,关于这个算法有两种经典...原创 2019-10-04 23:22:07 · 209 阅读 · 0 评论 -
2019国庆牛客集训day4A题
题目链接:https://ac.nowcoder.com/acm/contest/1109/A题意理解:给你一个(n-1)*n的矩阵,求把每一列去除后的行列式的值。题解:本来的想法是直接暴力枚举,然后高斯定理求行列式的值,但是算了算时间复杂度,过不去,不过还是试了试评测鸡,果然挂了!然后想了好长时间,发现把第一行给加一个值,然后求伴随矩阵的第一行(逆矩阵的第一列)即为答案。...原创 2019-10-04 23:44:16 · 163 阅读 · 0 评论 -
2019国庆牛客多校集训day4C题
题目链接:https://ac.nowcoder.com/acm/contest/1109/C题目翻译:给A,B两个序列Ai,Bi,在A中找一个子集Sa,B中找一个子集Sb,使得Sa的异或和Sb的异或和同时等于x问有多少个这样的x,1<=n<=50,0<=Ai,Bi<=2^60.这里需要知道高斯消元解抑或方程组的方法,不懂的可以参考:https://wenku...原创 2019-10-05 00:20:34 · 95 阅读 · 0 评论 -
2019牛客国庆集训派对day5C题
题目链接:https://ac.nowcoder.com/acm/contest/1110/C题意理解:给你一个n*n的矩阵,bij表示删除第i行和第j列后形成的行列式的值。求最终的b数组。题解:本来以为用java直接暴力可以过的,6s也很长了,但是好像不行。那就需要用到逆矩阵(高斯消元求矩阵的逆)的知识和上个博客的知识(2019国庆牛客集训day4A题 )了。之后我们...原创 2019-10-06 00:02:17 · 123 阅读 · 0 评论 -
2019多校国庆集训派对day6G题
题目链接:https://ac.nowcoder.com/acm/contest/1111/G题意理解:给你一个含有n个数的数组,求数组中连续m个数的r值,ri = sqrt( ∑(ai-a)^2 / (m-1)),a = ∑ai / m。题解:需要理解前缀和的思想。维护两个前缀和数组,sum1[i]表示1到i的数之和,sum2[i]表示1到i的数的平方和。公式可以拆成 r...原创 2019-10-06 22:23:07 · 120 阅读 · 0 评论 -
2019牛客国庆集训派对day6D题
题目链接:https://ac.nowcoder.com/acm/contest/1111/D题意理解:有两种法术攻击:射击(-2 HP)和冰箭数( -3 HP)。给你n个仆从的HP(h(i)),求 f(0),f(1),f(2)......f(m)。f(i)表示杀死所有仆从的最小冰箭数,且可用射击次数为i。题解:优先队列贪心做,代码上有详细解释。#include<...原创 2019-10-06 23:53:17 · 193 阅读 · 0 评论 -
2019牛客国庆集训派对day7A题
题目链接:https://ac.nowcoder.com/acm/contest/1112/A题目理解:给你n,m,a在1到n中,b在1到m中,求a*b==2016正整数对的个数(mod 1e9+7)题解:叉姐贼喜欢出这种题,不过确实这种题很好,这题是2016湖南省赛的题目,还有两个类似的2017年四川省赛的2017和2018年湘潭邀请赛的2018;这几个题都很像,不过考察的知...原创 2019-10-08 01:10:18 · 147 阅读 · 0 评论 -
常用的建图方式(邻接矩阵,静态链表,Vector,链式向前星)
今天才发现自己原来基础的东西有些都不是很懂,就比如存图的方式,就只会最简单的邻接矩阵和静态链表。所以昨天的多校就炸了,QAQ,发现自己只会用板子,板子的意思都不是很懂,所以今天专门来补一下这方面的知识,也是做个笔记。最简单的邻接矩阵来存储图,这个不用多说,上代码#include <iostream>using namespace std;int G[500][500];...原创 2019-07-23 11:52:09 · 361 阅读 · 0 评论