题目大意 给定一个长度为$n$的序列$a$,求出长度至少为$k$的子序列,使得: 所有下标为奇数的元素的最大值与所有下标为偶数的元素的最大值的最小值最小 即$min(max(s_1,s_3,s_5...),max(s_2,s_4,s_6...))$ $2 ≤k≤2\times10^5$ \(Time ...
分类:
其他好文 时间:
2020-07-05 10:57:54
阅读次数:
71
昨天没做,今天补上一题 有点麻烦,一直在想着怎么能够更简洁地处理,先放个初代版本 注意: 处理手势的输出:用数组定义3种手势:char rule[3]={'B','C','J'};输出字母要求按最小的输出,即在遇到次数相同的情况下输出排序较前的字母,因此在比较次数大小的时候,除非 > 前一个数,否则 ...
分类:
移动开发 时间:
2020-07-05 09:15:37
阅读次数:
68
滑动窗口(双指针) 要在字符串S里找出包含字符串T的所有字符的最小子串(注意只需要包含字符串T的所有字符),不需要子串就是T。 所以我们可以扫描一遍字符串S,找出一个满足条件包含字符串T的所有字符串子串,然后根据长度是否比之前记录的字符串长度小,更新最小子串。 扫描字符串S需要用到滑动窗口(双指针) ...
分类:
其他好文 时间:
2020-07-05 00:42:27
阅读次数:
63
二叉堆是一种特殊的二叉树。 它是一颗完全二叉树,表示树的每一层都有左侧和右侧子节点(除了最后一层的叶节点),并且最后一层的叶节点尽可能都是左侧子节点,这叫结构特性。 二叉堆不是最小堆就是最大堆。最小堆允许快速导出树的最小值,最大堆允许快速导出输的最大值。所有的节点都大于等于(最大堆)或小于等于(最小 ...
分类:
编程语言 时间:
2020-07-05 00:28:25
阅读次数:
65
线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在。一个进程中可以包含多个线程,多线程可以共享一块内存空间和一组系统资源,因此线程之间的切换更加节省资源、更加轻量化,也因此被称为轻量级的进程。 线程的状态在 JDK 1.5 之后以枚举的方式被定义在 Thread 的源码中 ...
分类:
其他好文 时间:
2020-07-04 23:05:37
阅读次数:
87
题目传送门 1.题外话 最近在刷有关图论,dp的题单~ 2.解题意 n个节点,m条双向边。每个节点有一个权值$f[i]$,每个边有一个边权(\(edge[i].dis\)),起点编号是1,终点编号是n。让你求对于每一个b,使得$1到n$的最短路小于边权和小于等于b且使得路径上经过的最大的点权最小。 ...
分类:
其他好文 时间:
2020-07-04 22:49:43
阅读次数:
79
方法一: 整数值越界后符号改变 int i = 0, max, min; while(1) { if(i + 1 <= 0) { max = i; min = i + 1; break; } i++; } printf("int最大值%d,最小值%d\n", max, min); 方法二: 0(un ...
分类:
其他好文 时间:
2020-07-04 22:32:08
阅读次数:
69
D. Johnny and Contribution 题目: 给你每一个点想要的数字,然后让你给出一种顺序来填数字,使得填完数字后和想要的数字是一样的,这个填数字的要求就是除开相邻的点填的数字之外的最小正整数。 题解: 这个题目太毒瘤了,题意难读懂,读懂之后又感觉很容易弄错,看的我心累。。。 这个贪 ...
分类:
其他好文 时间:
2020-07-04 22:29:20
阅读次数:
90
考虑用一个二维dp数组表示所需的最小操作次数。 dp[i][j]表示将word1的前i个字符转换为word2的前j个字符所需要的最少操作次数。 由于操作的顺序对于最后操作的结果没有影响,所以我们假设操作总是从word1的前面字符操作到word1的后面字符。 如果word1的第i个字符等于word2的 ...
分类:
其他好文 时间:
2020-07-04 20:50:44
阅读次数:
53
1. DOM操作非常耗费性能 以前用jquery,可以自行控制DOM操作的时机,手动调整 Vue和React是数据驱动视图,如何有效控制DOM操作? 2. 有了一定复杂度,想减少计算次数比较难 能不能把计算,更多的转移为js计算?因为js执行速度很快 vdom-->用js模拟DOM结构,计算出最小的 ...
分类:
编程语言 时间:
2020-07-04 20:24:31
阅读次数:
68