- 2024-11-03雪花算法生成唯一id的工具类
maven依赖包<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.9</version></dependency>&
- 2024-10-15Natasha, Sasha and the Prefix Sums
Natasha,SashaandthePrefixSums设\(g(x)\)表示\(f(a)=x\)的个数,那么\(ans=\sum_{x=\max(0,n-m)}^{n}xg_x\)。恰好不好求,我们求\(h(x)\)表示\(f(a)\lex\)的个数,\(g(x)=h(x)-h(x-1)\)。1表示向上走,-1表示向下走,\(h_i\)就是求从\((0,0)\)走到\((n+m,n-m)\)
- 2024-08-28bnds 8.27
P3120朴素dp\(dp_{i,j}\)表示从\((1,1)\)出发到\((i,j)\)的方案数,有\(O(rc)\)的转移,总时间复杂度\(O(r^2c^2)\),通过不了。优化设\(sums\)为\((1,1)\)到\((i-1,j-1)\)的方案数和,\(sumd\)为\((1,1)\)到\((i-1,j-1)\)中,最后一个颜色为\(a[i][
- 2024-08-18P1466 [USACO2.2] 集合 Subset Sums
题目描述对于从\(1\simn\)的连续整数集合,能划分成两个子集合,且保证每个集合的数字和是相等的。举个例子,如果\(n=3\),对于\(\{1,2,3\}\)能划分成两个子集合,每个子集合的所有数字和是相等的:\(\{3\}\)和\(\{1,2\}\)是唯一一种分法(交换集合位置被认为是同一种划分方案,因此不
- 2024-08-16leetcode前缀和(2438. 二的幂数组中查询范围内的乘积)
前言经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。描述给你一个正整数 n ,你需要找到一个下标从 0 开始的数组 powers ,它包含 最少 数目的 2 的幂,且它们的和为 n 。powers 数组是 非递减 顺序的。根据前面描述,构造
- 2024-08-02element的table组件总计功能的一些问题
问题1:默认数据为空时,element认为不需要总计,当接口调用结束赋上数据时,总计行才会渲染,但因为之前element没有计算好高度,导致总计行从底部上升出来这一样式bug,解决方法是设置tableData:[{}]为初始值,使初始状态下具有总计行,这样初始计算过总计行高度后,后续在修改数据也不会产生样式bug
- 2024-06-17D. Prefix Permutation Sums
原题链接题解1.缺少一个前缀和,缺少在哪了?如果缺少在\(i<n\)的地方,则会出现一个两个数之和,即缺少两个数否则会只缺少一个数2.两个数之和可能大于\(n\),也可能不3.虽然\(a_i\)达到了\(1e18\)但是\(n\leq2e5\),所以可以用数组记录出现的数code#include<bits/stdc++.
- 2024-06-03[ABC238E] Range Sums
原题链接题解把这里的数字看成间隔,不要看成点假设已知能和\(l\)组成区间的端点集合\(A\)和以\(r\)组成区间的端点集合\(B\),这时候加入一个以\(l,r\)为左右端点的区间,那么在加入区间\(l,r\)之后,这两个集合可以合并code#include<bits/stdc++.h>usingnamespacestd
- 2024-04-10Increase Subarray Sums
原题链接题解观察数据范围,看到\(n<=5000\)便确定了\(O(n^2)\)左右的算法,这样一来我可以遍历所有的区间虽然每个\(f(k)\)对应的答案区间都不同,但一定能遍历到,所以我可以再遍历一遍k,算出以该区间为答案区间时的\(f(k)\)但是这样一来时间复杂度就超了,于是能不能优化?假如
- 2024-04-05代码随想录算法训练营第二天 | 数组 209.长度最小的子数组
leetcode209.长度最小的子数组题目209.长度最小的子数组给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于target的长度最小的连续子数组[numsl,numsl+1,...,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0。
- 2024-04-01前缀和
题目LeetCode力扣难度303.RangeSumQuery-Immutable303.区域和检索-数组不可变
- 2024-03-23P1466 [USACO2.2] 集合 Subset Sums
题目传送门:P1466[USACO2.2]集合SubsetSums-洛谷|计算机科学教育新生态(luogu.com.cn)https://www.luogu.com.cn/problem/P1466//https://www.luogu.com.cn/problem/P1466//背包#include<bits/stdc++.h>usingnamespacestd;intval[40],f[40][1005];//f[i][
- 2024-03-15力扣刷题Days19-637.二叉树的层平均数
目录1,题目2,代码2.1广度优先遍历2.2深度优先遍历3,学习与总结1,题目给定一个非空二叉树的根节点 root ,以数组的形式返回每一层节点的平均值。2,代码2.1广度优先遍历/***Definitionforabinarytreenode.*functionTreeNode(val,left,right){*
- 2024-02-24P4119 Ynoi2018 未来日记
P4119Ynoi2018未来日记lxl出的题好duliu啊。感谢来自fr200110217102的博客题解P4119【Ynoi2018未来日记】。下标分块+值域分块+并查集其实一开始的方向应该是尝试线段树或者其它的动态维护的算法,直到时间复杂度和空间复杂度对不上,你才会想到——要分块!区间第\(k\)
- 2024-02-07Leetcode刷题第九天-回溯
113:路径总和II链接:113.路径总和II-力扣(LeetCode)root=[-2,null,-3],targetSum=-5莫要忘记负数情况
- 2024-02-06element使用
一、el-table指定汇总列<el-table:row-key="(row)=>row.Id":data="listData"bordershow-summary:summary-method="summaryColumn"style="widt
- 2024-02-032024-02-03:用go语言,你有 k 个背包。给你一个下标从 0 开始的整数数组 weights, 其中 weights[i] 是第 i 个珠子的重量。同时给你整数 k, 请你按照如下规则将所有
2024-02-03:用go语言,你有k个背包。给你一个下标从0开始的整数数组weights,其中weights[i]是第i个珠子的重量。同时给你整数k,请你按照如下规则将所有的珠子放进k个背包。没有背包是空的。如果第i个珠子和第j个珠子在同一个背包里,那么下标在i到j之间的所有珠
- 2023-12-23设置element组件表格:表头样式、单元格样式、表尾合计、边框、行高
设置表格头样式methods:{headerCellClassName({row,column,rowIndex,columnIndex}){if(rowIndex===0){return{textAlign:'center',background:'#FFD966',fontWeight:'bold',color:'#000000'
- 2023-11-26[ARC168E] Subsegments with Large Sums
题目链接看到严格选\(k\)个,不难想到WQS二分。定义\(f(x)\)为分成\(x\)段,最多有多少个超过\(S\)的。然后你会发现他不是凸的。因为他有很多平段,比如把两个很小的合并不改变答案。换个方向?考虑定义\(f(x)\)为有\(x\)个超过\(S\)的段,最多有多少个段。然后发现这个
- 2023-11-25[ARC168E] Subsegments with Large Sums
有点意思的简单题。答案有可二分性。合并两段,显然仍然合法。考虑如何check。因为答案可以被二分,我们尝试求恰好\(x\)段就行了。恰好,这是wqs二分的内容。如何设计一个与\(x\)有关的凸函数呢?这个函数大概是\(\sum_{i=1}^xw(l_i,r_i)\)的形式,每一个\([l,r]\)都是合
- 2023-11-22elementUI中关于 el-table 表尾合计行列子
列表中数量和金额需要统计并显示单位:统计后的效果如下: <el-tablev-loading="loading"border:data="List"@selection-change="handleSelectionChange"show-summary:summary-method="getSummaries&quo
- 2023-11-04P1466 [USACO2.2] 集合 Subset Sums
P1466USACO2.2集合SubsetSums毫无思路如果不告诉我这题是DP题,我一定会爆搜。看了题解,很妙。居然也能套背包板子。定义F[i][j]为在前\(i\)个数中选择一些数其和为\(j\)的方案总数。显然转移方程F[i][j]=F[i-1][j]+F[i-1][j-i]要么不选当前第\(i\)个数,要么选
- 2023-10-15[LeetCode] 1354. Construct Target Array With Multiple Sums 多次求和构造目标数组
Youaregivenanarray target ofnintegers.Fromastartingarray arr consistingof n 1's,youmayperformthefollowingprocedure:let x bethesumofallelementscurrentlyinyourarray.chooseindex i,suchthat 0<=i<n andsettheva
- 2023-10-06D. Prefix Permutation Sums
D.PrefixPermutationSums吐槽:读题不仔细,还以为原数组的取值是任意的,最后看题解的时候才发现取值在[1,n],当时因为看不懂直接跳过了题意:给你一个缺了一个的前缀和数组,让你判断是否存在原数组,取值[1,n],每个数只存在一次可以分类讨论1缺少最后一个前缀和2缺少前面的前缀和
- 2023-08-22[ABC238E]Rcange Sums
前言一道水得不能再水的题,虽说在图论的题单里,但我真的没有用图,用了并查集就轻松\(AC\)。大意输入\(q\)个\(l,r\),表示知道\(l\)到\(r\)的区间,最后问能不能知道\(0\)到\(n\),能就输出Yes,不能就输出No。思路图论做法:可以把知道\(l\)到\(r\)的区间抽象为从\(l-1\)向\(r\)连一条边