- 2024-10-20P2672 NOIP2015 普及组 推销员
P2672[NOIP2015普及组]推销员-洛谷|计算机科学教育新生态(luogu.com.cn)我还是相信,大部分人是想不出贪心的。时间复杂度\(O(n\logn)\)但是常数极大,运用线段树,这题数据过水,甚至我一个写错了的线段树都能拿满(除了#3hack)。非贪心。首先按距离大小分类,并在每一类里进行
- 2024-10-04UR #1
A.缩进优化题目描述有\(N\)行,每行有\(A_i\)个空格。你可以选择一个默认TAB长度\(x\)。并用一个TAB替换\(x\)个空格。求最终需要TAB和空格数量之和的最小值。思路我们先对值的出现次数做一个前缀和,然后枚举\(x\)。并枚举\(x\)的倍数再统计答案即可。这样是一
- 2024-09-29AT_abc_373F Solution
AT_abc_373FSolution\(O(n^3)\)的dp很容易想到,枚举重量,枚举物品,枚举物品选择数量,我们考虑把它优化到\(O(n^2)\),显然重量与物品的枚举不能避免,所以我们考虑省去数量的枚举。记\(num_{i,j}\)表示总质量为i价值达到最大时,j选择了多少个,对于当前枚举的重量i,我们枚举
- 2024-09-182321. 拼接数组的最大分数
题目链接2321.拼接数组的最大分数思路最大子数组和-变体题解链接转换成最大子数组和(Python/Java/C++/Go)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现:classSolution:defmaximumsSplicedArray(self,nums1:List[int],nums2:Lis
- 2024-09-18918. 环形子数组的最大和
题目链接918.环形子数组的最大和思路最大子数组和-简单变体题解链接没有思路?一张图秒懂!(Python/Java/C++/Go/JS)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现:classSolution:defmaxSubarraySumCircular(self,nums:List[int])->
- 2024-09-181749. 任意子数组和的绝对值的最大值
题目链接1749.任意子数组和的绝对值的最大值思路前缀和/动态规划-最大子数组和-简单变体题解链接两种方法:动态规划/前缀和(附题单!Python/Java/C++/Go/JS)关键点无时间复杂度\(O(n)\)空间复杂度\(O(1)\)代码实现(动态规划):classSolution:defmax
- 2024-06-02Leetcode 3161. 物块放置查询
https://leetcode.cn/problems/block-placement-queries/description/有一条无限长的数轴,原点在0处,沿着x轴正方向无限延伸。给你一个二维数组queries,它包含两种操作:操作类型1:queries[i]=[1,x]。在距离原点x处建一个障碍物。数据保证当操作执行的时候,位置x处
- 2024-04-11组合数学
逆元若\(i\cdotx=1\),则\(i^{-1}=x\)。递推求乘法逆元\[令模数为p,正整数i,a=\lfloor\frac{p}{i}\rfloor,b=p\operatorname{mod}i,且b\ne0。\\a\cdoti+b=p\\\Downarrow\\a\cdoti+b\equiv0(\operatorname{mod}p)\\\frac{i}{b}+\frac{1}{a}\equiv0(\o
- 2024-03-29L1-069 胎压监测
easy.#include<bits/stdc++.h>usingnamespacestd;set<pair<int,int>>st;intmaxv=0;intmain(){ for(inti=1;i<=4;i++){ intt; cin>>t; st.insert({t,i}); maxv=max(maxv,t); } intcmp,subv; cin>>cm
- 2024-03-02Solution - 消息传递
Link。首先我们假设在看本文章的所有人除了@左乐都已经使用点分树A掉了震波。然后我们要怎么简单修改A掉这个消息传递呢。震波是维护距离\(\leqk\)的点,这里只需要维护\(=k\)的,显然我们可以改掉维护前缀和的那个数据结构(比如树状数组),直接用普通数组/vector。跳
- 2023-12-04CF1695C Zero Path 题解
题意:思路:设$minv$表示路径最小权值和,$maxv$表示路径最大权值和。当且仅当路径长度$n+m-2\equiv0\space(mod\space2)$且$minv\le0\lemaxv$时,一定有权值和为$0$的路径;否则,一定没有权值和为$0$的路径。证明:由于只能向右或向下走,路径长度
- 2023-12-04CF1163B2 Cat Party (Hard Edition) 题解
题意:思路:对于满足条件的区间$[1,x]$,有如下三种情况:$1$.所有元素出现次数都为$1$;$2$.除了一个元素出现次数为$1$之外,其余元素出现次数都相等;$3$.除了一个出现次数比其他数的出现次数多$1$的元素之外,其余元素出现次数都相等。在线处理:设$cnt_i
- 2023-12-04CF1198B Welfare State 题解
题意:有一个长度为$n$的序列$a$,给定$q$次操作,每次操作为以下两种之一:$1$.$1$$p$$x$:$a_p=x$$2$.$2$$x$:$a_i$$=$$max$$($$a_i$,$x$$)$$(1\lei\len)$求经过$q$次操作后的序列$a$。思路:$a_i$的最终值只受
- 2023-11-28算法笔记
图的算法Dijkstra算法:(净化被黑暗能量污染的城市)求图的单源最短距离,给出图G(V,E)(精灵城市图)和起点城市O(Origin),设置一个存放已经被光明之力净化的城市集合S,现在要从起点O出发,开放所有与起点O相连的road,以最短路径去往各城市进行净化,每次从V-S集合(未被净化的城市)中选出一个
- 2023-08-06怪盗基德的滑翔翼C++
题目描述】怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的
- 2023-08-02暑假集训D9 2023.8.2 补题
A.「EZEC-10」排列排序给你一个长度为\(n\)的排列\(p_1,p_2,\cdots,p_n\)。你需要把它排序。每次可以花区间长度,即\(r-l+1\)的代价,选择排列中的任意一段区间\([l,r]\),并将\([l,r]\)从小到大排序。现在你可以让他进行若干次这个操作,直到\(p\)中元素的值从\(1\)到
- 2023-07-20洛谷 P9139 [THUPC 2023 初赛] - 喵了个喵 II
考虑如果每个数恰好出现两次,那么容易得出一个序列合法当且仅当将每个数两次出现位置看作一个区间\([l_i,r_i]\)的两个端点,那么这些区间两两之间不存在包含关系。考虑每个数出现四次的情况,我们钦定两次为\(i\),两次为\(i+n\),这样可以转化为\(2n\)的情况,而容易发现只有\(1122
- 2023-07-12LeetCode -- 918. 环形子数组的最大和
遇到环形问题一般有两种考虑方法:1.破环成链2.分为数组中间部分和数组两边部分分别考虑本题采用第二种考虑方法,将原数组分为中间部分和两边部分分别考虑。中间部分即为子数组最大和,两边部分计总和减去中间部分最小和。classSolution{public:intma
- 2023-04-19【每日一题】分隔数组以得到最大和
1043.分隔数组以得到最大和关键词:动态规划、递归题目来源:1043.分隔数组以得到最大和-力扣(Leetcode)题目描述T动态规划T递归给你一个整数数组arr,请你将该数组分隔为长度最多为k的一些(连续)子数组。分隔完成后,每个子数组的中的所有值都会变为该子数组中的最大值。
- 2023-03-29272. 最长公共上升子序列
题目描述给两个数组,求数组的公共最长上升子序列?f1LCS+LIS+3重循环基本分析状态定义的线索?(1)需要包含两个数组;(2)需要考虑到上升的限制;状态集合?f[i][j]表示a中以前i
- 2023-03-231630.等差子数组
classSolution{publicListcheckArithmeticSubarrays(int[]nums,int[]l,int[]r){intn=l.length;Listans=newArrayList();for(inti=0;i<n;++i)
- 2023-03-17突刺贯穿的第二分块
[CF896E]Welcomehome,Chtholly给定一个长为\(n\)的序列\(a_1\sima_n\),\(m\)次操作,分两种:1lrx,将\(a_l\sima_r\)中\(\gtx\)的数减去\(x\)。2lr
- 2023-02-27用于双目重建中的GPU编程:julia-cuda
一、Julia是什么julia是2010年开始面世的语言,作为一个10后,Julia必然有前辈们没有的特点。Julia被期望塑造成原生的有C++的运行速度、python的易交互性以及胶水性。最重要的
- 2023-01-071.7 vp Codeforces Round #839 (Div. 3)
A-A+B?题意:给出两个0~9的数字和一个加号。要求输出数字相加的和思路:用字符串输入,第一位和第三位相加减去两个字符0即为数字和。voidsolve(){ strings; cin>>s;
- 2023-01-01C. On Number of Decompositions into Multipliers -- Codeforces
C.OnNumberofDecompositionsintoMultipliershttps://codeforces.com/problemset/problem/397/C 思路 Codehttps://codeforces.com/contest/397/submissi