自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 问答 (4)
  • 收藏
  • 关注

原创 平面最短曼哈顿距离技巧 Dist Max、Lena and Matrix、Gojou and Matrix Game 三题题解

曼哈顿距离是指对于两个点a(i,j),b(i′,j′)a(i,j),b(i',j')a(i,j),b(i′,j′),它们的曼哈顿距离是∣i−i′∣+∣j−j′∣|i-i'|+|j-j'|∣i−i′∣+∣j−j′∣,记为dis(a,b)dis(a,b)dis(a,b)我们显然可以做如下变化dis(a,b)=∣i−i′∣+∣j−j′∣=max⁡(i−i′,i′−i)+max⁡(j−j′.j′−j)dis(a,b)=|i-i'|+|j-j'|=\max(i-i',i'-i)+\max(j-j'.j'-j)dis(

2022-06-11 19:38:49 827 1

原创 Crystalfly 简单树形DP

题意一颗树,在边上移动的时间花费为1。每个点有两个权aaa和ttt,aaa是一个只能被获取一次的点权,ttt代表当第一次进入这个点的相邻点后多久,这个点的第一个权aaa会消失。ttt的取值范围为111到333.现在你从111号点开始,任意游走,请问最大能获得的aaa是多少。思路需要特殊关注的是ttt的范围,一到三。假如我们任意跑到了一个点,那么他的子节点会立即开始计时。假如有若干个子树。我有如下两种抉择:走到其中一棵子树vvv,之后一路获取vvv子树的权,最后再去别的子树。第二种是我先前往vvv,之后

2022-05-01 19:51:05 606

原创 axios库学习笔记 22.2.3

大部分内容来自于官方文档入门是什么Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。安装<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script&

2022-02-03 21:59:43 153

原创 Vue官方文档学习笔记 22-2-3

开始Vue,抓紧咯本文大部分内容来自于Vue官方中文文档,掺杂了自己的浅陋理解,仅用作个人学习使用,各位小伙伴不要被我不严谨的措辞、类比误导了介绍Vue.js是什么Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。开始将 V

2022-02-03 00:53:51 764

原创 SpringBoot学习笔记 22-2-1

虎年快乐SpringBoot概述提供了快速开发Spring的方法,秉持“约定大于配置”的思想。Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.Spring Boot让你可以轻易的构建一个可以“直接运行”的独立的生产级的Spring项目功能自动配置:运行时自动配置起步依赖:依赖打包,简化依赖辅助功能:嵌入

2022-02-01 00:37:03 619

原创 SpringMVC学习笔记22-1-29

SpringMvc1-SpringMVC简介1.1-是什么一个轻量级的MVC框架1.2-为什么轻量,简单高效,基于响应兼容Spring用的人多2-建立一个SpringMVC的流程2.1-新建maven项目并添加web 框架支持2.2-添加依赖项<dependencies> <!--测试--> <dependency> <groupId>junit</groupId> &lt

2022-01-29 19:13:23 1253

原创 MyBatis学习笔记-22.1.28

1- MyBatis简介1.1-是什么是apache的一个开源持久层框架,会托管JDBC获取MyBatismaven<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> &l

2022-01-23 23:52:43 833

原创 cf1567E Non-Decreasing Dilemma套路线段树

题目链接https://codeforces.com/contest/1567/problem/E题意维护数据结构,要求支持单点修改,区间查询递增子数组(连续)个数。思路一眼就很套路的线段树题目。单点修改不谈,直接考虑如何维护答案。首先明确长度为k的递增数组,答案是1累加到k,为方便起见,我们记录k的累加为s_k。考虑答案的pushup部分,如果左区间最右大于右区间最左,那么答案就是左子树和右子树的和,否则的话,我们需要算上新增的情况。具体来说,如果左边区间最右有rc个递增,右区间最左有lc

2021-09-10 00:33:50 228

原创 cf1561D 整除分块,DP。

题目链接https://codeforces.com/contest/1561/problem/D2题意n阶台阶下楼梯,可以一次走多步,可以一次从当前格子x走到x/z(下取整)格子。z可在1到x-1选择。问走到1的方案数。思路考虑dp第一种操作很容易处理。dp[i]可以直接由sum[i-1]转移过来。第二种操作其实也简单,我们就枚举z,然后从x/z转移不得了。但是这样的复杂度是n平方的,这时要用到一些优化。考虑整除分块,一个数的约数显然只有根号级别,也就是说我们枚举z的时候有很多是重复的,

2021-08-25 19:55:56 166

原创 Codeforces Round #740 -64

不摆烂了,开始板刷cf。耻辱之中绝无慰藉,除非脱离耻辱A 题意按轮次奇偶性交换元素,问最小排序成功次数A 思路模拟题,stl真好用A 代码#include<cstdio>#include<iostream>#include<set>#include<iomanip>#include<map>#include<unordered_map>#include<string>#include<que

2021-08-25 19:42:15 92

原创 2021牛客多校1 H hashfunction FTT/NTT,数论

H 题意n个数哈希,策略是直接模一个数。求最小的不冲突模数范围0-50wH 思路冲突时当且仅当|ai-aj|%m=0换句话说,m不能是任何一对aiaj的约数,数的范围不大,如果我们能知道所有|ai-aj|,那么我们枚举m,判断下他每一个倍数有没有出现过,就可以判断m是否可以做答案。这个复杂度是调和级数,nlogn级别的。下面问题在于我们如何知道所有的ai-aj。这里需要一个前置知识。我们把ai看作多项式f1中x^ai的系数,aj同样处理。那么所有ai+aj可以通过对两个多项式进行卷积得出。(显

2021-08-24 20:56:55 149

原创 cf1311F 树状数组,二维偏序

题目链接https://codeforces.com/contest/1311/problem/F题意数轴上有一些点,各个点有速度,问任两个点之间最短距离和思路a为位置(正),v为速度考虑i和j两个点,令ai<aj,容易发现只有vj>=vi时才能保证两个点不相遇,否则一定相遇。对于相遇的点,他们的距离是0,否则距离为初始距离。那么我们需要统计出所有ai<aj,vj>=vi的ij初始距离。这个是一个标准的二维偏序。说下什么是二维偏序,偏序是反对称,传递,自反的关系。二

2021-08-20 21:09:21 154

原创 Codeforces Round #737 (Div. 2) -16

又是不会数数的一天10分钟过ab,直接下班A 题意n个数,分成两组,使他们的平均数加和最大A 思路贪心,最大的数独自一组,剩下的分组不会证A 代码#include<cstdio>#include<iostream>#include<set>#include<iomanip>#include<map>#include<unordered_map>#include<string>#include&l

2021-08-11 00:23:23 79

原创 codeforce round 735div2 -32

属于是打完多校脑子不转了,这题明明这简单的掉大分,还好今天还一场A 题意选择一个连续子区间,让最大*最小值最大。A 思路显然是区间长为2时最大,扫一下就可以了。想想也知道,我们选择两个时,拓展也是向两边拓展,如果有更小的,显然不拓展为好,如果有介于最大最小之间的,那么答案不会更优,假如有大于最大的,拓展后的答案也不会优于选择那个更大的数的长为二区间。A 代码#include<cstdio>#include<iostream>#include<iomanip

2021-07-30 20:48:59 105

原创 2021杭电多校4补题记录

总结lls不在的第一天,想他数学我** 你个 **1001 题意fx是一个由c,cx,c/x,csinx,ccosx,c/sinx,c/cosx,c^x由加号拼接的函数,对他求前缀和一样的东西得到sx,给你fx,问sx是否收敛1001 思路高数下练习题sx收敛,则fx趋0,由高数知识知这些都不趋0,只有常数C均为0时才成立。1001 代码#include<stack>#include<cstdlib>#include<cstdio>#include

2021-07-29 22:19:52 167

原创 2021杭电多校3补题记录

总结签到太慢太慢太慢记忆化搜索写炸了,1h半龟速签到。一个裸的前缀和写好久,全队缺乏数据结构知识一个思维倒推想不到,麻了1004 题意有好多条线段,alice选k条,之后bob画一条,有几个交点扣几分。alice想最大化,bob想最小化,给出线段,输出k为1到n时分数1004 思路k=n时,alice全选,那么bob的扣分就是n-出现次数最多的斜率出现数。之后考虑倒推,显然alice要不画当前斜率出现最多的一条边最优,所以统计线段斜率,用个优先队列倒着推就行,nlogn。1004 代码#

2021-07-28 22:45:35 160

原创 HDU4253 k条黑边的最小生成树

题目链接https://acm.hdu.edu.cn/showproblem.php?pid=4253题意给出图,边分黑白两色,求使用k条黑边的最小生成树思路先贴论文http://www.doc88.com/p-916950232776.html二分+生成树。为每条黑边加权x,然后求出使用最少low条黑边和最多high条黑边的最小生成树。可以证明low到high是一个连续区间,这个low和high可以通过更改排序策略求出(同边权时优先黑/白边)。假如k落在这个区间中,那么使用k条黑边的生成树和

2021-07-28 20:12:48 353

原创 Codeforces Global Round 15 +140

强打精神打得,以外的还不错。不过可惜是大号打得,小号的话还能再上一拨分A 题意给一个串,选一些位置任意排序,要求选最少位置,使得有序A 思路显然本来就有序的就不用选,sort一下比较即可。A 代码#include<cstdio>#include<iostream>#include<iomanip>#include<map>#include<unordered_map>#include<string>#inclu

2021-07-26 16:58:13 131

原创 2021杭电多校2补题记录

总结自闭场极慢签到罚坐俩小时,补题补不上。1001 题意边长为n-1的立方体中,三边分别平行于三个平面的等边三角形数量是多少。1001 思路边长为1时,是8个,这8个等边的边长为根号二。所以边长为2的立方体中应该也有8个边长为二倍根号二的。所以边长为n的立方体中,有8n立方个边长根号2的,8(n-1)立方个边长二倍根号2的,以此类推,其实就是八倍的立方和。立方和公式套一下,注意开局n–,以及取模就好了。1001 代码#include<cstdio>#include<io

2021-07-23 22:15:11 192

原创 Harbour.Space Scholarship Contest 2021-2022 (Div. 1 + Div. 2) -29

自闭场,d题fst了,掉大分^^A 题意如果数字x的各个位数加和比x+1的大,称为一个特殊数字,问给出n,小于等于n的特殊数字个数A 思路这能wa1,我真服了。。显然只有9,19,29,等等尾巴是9的可以,那么答案就是(n+1)/10。代码实现和我嘴的思路不一样,不过签到题懒得改了。A 代码#include<cstdio>#include<iostream>#include<iomanip>#include<map>#include<

2021-07-23 20:56:15 240

原创 2021杭电多校1补题记录

总结carry不在的第一场杭电开局我读到去年网络赛原题,臭不要脸的签上到了。赛后发现结论也是显然。郎老师读1001极速签到,又是飞快签到的一天。1009签到题但没什么人做。。因为一上来1005是个最小生成树,导致我一度看什么都是最小生成树,写了个二分最小生成树TLE了,发下二分+搜索就可以做了,居然,还能wa!。不过也是很少写这种二分,赛后STD也不是二分…还是水平薄弱,应该检讨。1008郎老师提供的思路,我跟着完善了下,郎老师交了一发a了。赛后知道有更简单的操作,于是补习了一下悬线法,只看没实现

2021-07-21 21:30:00 234 1

原创 2021牛客多校2补题记录

总结教上场更自闭一些,榜歪了,题过的也不多,死磕K不出。开局两边同时读到签到,我过了D,lls他们过了C之后跟榜开k,把我干掉线了,四个小时写了快十份K代码。深刻检讨一下,属实没学过拓扑搞这个的技巧以及链表技巧,成功避开两个正解。而且卡题卡太死,导致团队一直少个人,应该检讨。lls和carry过了F计算几何,是一个球的体积交,希望carry在计算几何的路上越走越远,我就先run了。C 题意n*m方格,挨个划线(相邻两点),要求不能合成多边形,依次进行,无法连线失败,问先手能不能赢。n,m<

2021-07-19 22:57:43 103 2

原创 2021牛客多校1补题记录

总结这场打的还可以,不算那么自闭。开局我运气好读到签到题,极速签到,然后挂机。郎老师发现了F的规律,凯瑞打了个A的表。B初中数学wa太多了,罚时上天,很可惜。赛中敲了个I,一直T,以为卡常,最后才发现复杂度假了。赛后题解看不懂,神仙DP。权当练下概率DP了,等两天如果有看得懂的题解再补。H好像是fft板子,等点了技能点再来补,K也需要点技能点,等点完了来补。A 题意博弈,两堆石子,从1堆取a个,另一堆取ka个,k可以为0,a大于0.取不了判负,给出石子数,求胜负A 思路打表。必败态其实不

2021-07-18 19:35:40 211 2

原创 Codeforces Round #733 Div. 1+Div. 2 +64

A 题意二进制数串就是只有01的十进制,给一个十进制,拆成最少数量的二进制数串和A 思路水题,各数位最大值A 代码#include<cstdio>#include<iostream>#include<iomanip>#include<map>#include<unordered_map>#include<string>#include<queue>#include<stack>#incl

2021-07-18 18:33:19 111

原创 poj3622 二分 双端队列BFS

题意有向图,k条边免费,除此以外花费为最长边,问最小花费思路老题,之前做是分层图最短路裸题,看蓝书新学了个双端队列BFS,用一下。二分答案,所有比这个答案大的边权为1,否则为0,跑最短路看是否小于等于k即可验证。在0-1图上最短路,可以跑双端队列BFS,复杂度是线性的。具体做法类似于BFS,只不过是插入的时候,如果权0插头,否则插尾即可。教训/收获关于最短路的BFS,如果权全为1,可以直接跑BFS,懒得敲粘SPFA板子也行,复杂度线性,如果是01权,可以跑双端队列BFS,也是线性。如果是正权,

2021-07-16 16:34:56 129

原创 Educational Codeforces Round 111 还没出分

赞美郎老师!题目链接https://codeforces.com/contest/1550A 题意一个序列合法当且仅当其除了1以外元素x都存在x-2或者x-1,给出n,问以n为sum的序列最短长度A 思路手玩一下发现答案单调,当且仅当1 3 5 7 9这种极限情况都无法处理时,才需要把答案加一,于是打表+二分就可以了。A 代码#include<cstdio>#include<iostream>#include<iomanip>#include<

2021-07-15 16:18:23 174

原创 Educational Codeforces Round 110 VP

为什么一VP就能过这么多…题目链接https://codeforces.com/contest/1535A 题意四个数,12比34比之后再比。如果决赛是最强的俩人比就是公平,问是否公平A 思路最强次强别再第一轮相遇即可A 代码#include<cstdio>#include<iostream>#include<iomanip>#include<map>#include<unordered_map>#include<s

2021-07-14 19:58:52 97

原创 Codeforces Round #732 (Div. 2) +116

题目链接https://codeforces.com/contest/1546A 题意给出数组,每次选两个数一个加一,一个减一,任何时候不能出现非正数。不需要最小化操作次数,将a数组变成b数组。A 思路直接模拟,a数组存a-b的差分数组,每次选一个正的一个负的就行。A 代码#include<cstdio>#include<iostream>#include<iomanip>#include<map>#include<unordere

2021-07-12 15:37:13 90

原创 Codeforces Round #731 (Div. 3) +382

题目链接https://codeforces.com/contest/1547A 题意三个二维点,不经过三号点一二号点最短路A 思路除非连成线且三号在正中,否则就是横纵坐标求差的绝对值和,如果连线,答案加2A 代码#include<cstdio>#include<iostream>#include<iomanip>#include<map>#include<unordered_map>#include<string&g

2021-07-11 21:23:11 115

原创 牛客练习赛86 C取钱 贪心

题目链接https://ac.nowcoder.com/acm/contest/11176/C题意取钞机有n种面值的纸币(无穷张),第一种始终为1.会优先给你大的,给出q个询问,最多取k块钱情况下,最多拿多少张钱。思路我们定义cost[i]为不使用i+1的纸币时取多少钱答案最大,gain[i]为此时对应的钱。显然cost[1]=gain[1]=a[2]-1.我们考虑递推。当我们用两种钱时,我们得到的钱是两部分,由1支付的和由2支付的。为了不获得第三种纸币,我们最多拿a[3]以下的钱,为了获得

2021-07-10 17:17:58 136

原创 hdu4283 区间DP

题目链接HDU最近炸了,看看题得了题意给一个序列,每个点有d i值,每个点的不满意度为出场次序减一乘di,有一个栈可以更改出场次序,问最小不满意度和思路区间DP,我们对于每个区间DP[i][j]维护他们的不满意度和,注意DP子问题不考虑父问题,也就是不需要考虑i前面出场的人对他们的不满意度影响。我们因为使用了栈,可以保证第一号用户在任意位置出栈,可以枚举他的出栈点为分界点。划分成两端区间,可以发现,第一段区间再操作时,因为入栈更晚,所以需要更早出栈,第一段区间正好满足。第二段区间入栈更晚,但没有

2021-07-09 17:03:20 243

原创 cf149d 区间DP

题目链接https://codeforces.com/problemset/problem/149/D题意给出一个匹配完成的括号串,每个括号都可以染成a,b两色或是不染,要求:每个匹配的括号需要有且仅一个染色相邻括号不可染同色,可都不染问染色思路复杂度O(n∗logm)O(n*logm)O(n∗logm)教训/收获代码在这里插入代码片...

2021-07-09 15:28:28 150

原创 LightOJ - 1422 区间DP

题目链接https://vjudge.net/problem/LightOJ-1422题意不同舞会穿不同衣服。可以随时按栈的方式穿脱。同一件衣服脱了不能重复利用,任何时候都可以穿多件衣服。问最小费衣物次数。思路看一堆题解没看明白,看一个博主的看懂了,这个题意可以如此等价,给定一个空序列,每次可以刷一个连续区间,每次刷会覆盖,问最小刷墙次数。设dp[i][j]是i到j区间答案。如果i和j颜色一致,那么我们可以选择i这里什么都不干,dp[i][j]可以直接由dp[i+1][j]转移来,否则不具有这个

2021-07-09 10:49:55 124

原创 acwing 284 区间DP

题目链接https://www.acwing.com/problem/content/286/题意给出树的欧拉序,树的子树结点有序,问树的可能形态数思路显然区间DP。我们让dp[l][r]为l-r的方案数,可以确定初值为dp[i][i]=1, 答案为dp[1][n]。考虑状态转移。我们不能枚举分界点个数与分界处,这样复杂度就起飞了。假设我们要枚举一个分界点,两个区间分别对应多个子树,那么可能出现重复。为了避免重复,我们可以考虑第一个子树的分界点k。比如l—r是这段区间,那么第一个子树我们令其为

2021-07-08 22:50:58 97

原创 cf484B 思维

题目链接添加链接描述题意给出数组,问满足aj>ai时思路复杂度O(n∗logm)O(n*logm)O(n∗logm)教训/收获代码在这里插入代码片

2021-07-08 20:25:20 112

原创 Codeforces Round #730 (Div. 2) +403

题目链接https://codeforces.com/contest/1543A 题意给出a,b可以同时对他们加一或减一,不能为负,求gcd最大情况,以及此时操作步数。注意GCD(x,0)为x,若可无限大输出0 0A 思路操作后设为a+k,b+k. gcd(a+k,b+k)=gcd(b+k,a-b)若a==b,答案为b+k,可到无穷大,输出0 0,否则答案为a-b,那么只需要找到b+k为a-b整数倍即可。会有两个最接近的答案,算出来取minA 代码#include<cstdio>

2021-07-08 16:06:20 113

原创 HDU 4635强连通分量

题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4635题意给出一张无向简单图,问保持其简单图性质且不生成强连通图的前提下,可以加多少边。若已经强连通,答案为-1.思路易想到一加边策略,不断加边直到最终只划分为两个点集,两点集内强连通,两点集间只有单向边。设其较小的点集大小为x,易知此时边数为n*(n-1)-(n-x)*x。将这个数减去本来边的数量即为答案。显然(均值不等式)我们应令x最小化。我们求SCC并缩点,新图中所有入度为0或者出度为0的点可以作

2021-07-03 20:03:13 91 2

原创 cf 337b 二分 优先队列 贪心

题目链接https://codeforces.com/contest/377/problem/B题意m个bug,n个学生。学生和bug都有等级,等级大于等于bug的学生才能解决这个bug。每个学生只要出手就得付钱(多次出手支付一次),一个学生一天一个bug。给出最大预算,是否可以解决全部bug?如果可以的话,输出最省时间的解决方案。思路我们如果确定了限制天数,那么我们就可以贪心的解决问题。假如当前为k天完成,那么我们维护一个学生集合,这个集合内都是能解决当前最大等级bug的学生,我们拿出里面花费

2021-06-29 12:15:50 252

原创 cf 375b 思维,双端队列

题目链接https://codeforces.com/problemset/problem/375/B题意给出01矩阵,可以交换行,问可求得纯1子矩阵最大面积思路对于每个1,预处理出向右最大能到达的1的位置r。双端队列可以实现。左到右枚举每一列,将这一列每一行的r插入数组,排序,之后遍历更新答案即可。代码#include<cstdio>#include<iostream>#include<iomanip>#include<map>#in

2021-06-29 10:28:37 148

原创 cf547B 单调栈

题目链接https://codeforces.com/problemset/problem/547/B题意长为n数组,一个长为组合是说长为x的连续串,一个组合的权值是他最小元素的值。现在问你对于1-x的每一个长度i,i组合的最大权是多少。思路单调栈我们考虑一个数字对答案的影响。如果要这个数字对组合贡献答案,那么他一定要是组合里最小的数字,因此我们对于每一个数字,维护它左右两边第一个小于它的数的下标l和r,也就是维护一下他为最小值的连续区间。假如这个区间长为len,这个数是a,那么我们就可以对1-

2021-06-28 22:08:47 399

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除