很多时候,在进行莫队操作时,会遇到添加容易删除难的问题。 比如涉及到最值的运算。 这时,可以使用回滚莫队。 首先,和普通莫队一样,对序列进行分块。 对于左右端点在同一个块的询问,直接暴力求解。 然后,枚举左端点所在的块,并将右端点排序。 将左端点设为区间右端点,右端点从小到大移动。 这样,左端点每次 ...
分类:
其他好文 时间:
2020-07-04 23:04:39
阅读次数:
96
因为我要目标值和真实值相同,所以肯定要按目标值大小排序,从小往大排,否则直接就冲突了 之后对于每个节点维护一格mx表示当前周围被填了的mex值,之后对比可以知道是否成功 #include<bits/stdc++.h> using namespace std; const int N=1e6+10; ...
分类:
其他好文 时间:
2020-07-04 18:36:01
阅读次数:
52
/**参数说明: * 根据长度截取先使用字符串,超长部分追加… * str 对象字符串 * len 目标字节长度 * 返回值: 处理结果字符串 */ function cutString(str, len) { if (str.length * 2 <= len) { //length属性读出来的汉 ...
分类:
Web程序 时间:
2020-07-04 15:37:26
阅读次数:
108
方法一: $str = " www.wdphp.com "; $var = trim($str); $len = strlen($var)-1; echo $var[$len]; 方法二: $str = "www.wdphp.com"; echo substr($str, -1); 来源:https ...
分类:
Web程序 时间:
2020-07-04 14:59:37
阅读次数:
71
朴素Dijkstra算法 时间复杂是 O(n^2+m), n 表示点数,m 表示边数 适合稠密图 #include<cstring> #include<iostream> #include<algorithm> #define mm(a,x) memset(a,x,sizeof(a)) #defin ...
分类:
编程语言 时间:
2020-07-04 11:50:16
阅读次数:
88
1 #include <stdio.h> 2 #include <string.h> 3 4 char *strconv(char *p) 5 { 6 int length = strlen(p) ; 7 char *ptr = p ; 8 char *ptr_1 = p+length - 1; 9 ...
分类:
其他好文 时间:
2020-07-04 01:26:19
阅读次数:
67
首先工作经验告诉我们,定义结构体时,变量类型从小到大的顺序比较好,并且相同类型的变量尽量放一块。部分来自抄袭: 1、类 1、这是类为空的情况: 2、注意下面这种情况: 2、sizeof和strlen sizeof():是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好 ...
分类:
其他好文 时间:
2020-07-03 23:30:09
阅读次数:
77
题意:树是一个无向联通的无环图,现在给你一棵树,你有三种不同的颜色1,2,3可以选择,你要把树上的每个点涂一种颜色,使得任何一条由三个不同的点构成的路(这一段路上只能有三个点,就是0-0-0),他们之间的颜色是不同的。现在给你三种颜色,每种颜色染每个点需要的花费。请你给出一种染色的方案,满足以上条件 ...
分类:
其他好文 时间:
2020-07-03 21:00:38
阅读次数:
58
写代码,肯定少不了与内存打交道,今天就来聊一聊malloc和free的简单使用 malloc用来开辟内存,一般用sizeof来获得这个类型的大小,还有malloc返回的是void *,所以经常申请内存后需要强制类型转换,下面来看一个例子 #include<stdio.h> #include<stdl ...
分类:
其他好文 时间:
2020-07-03 00:58:31
阅读次数:
50
bzoj4241/AT1219 历史研究(回滚莫队) bzoj它爆炸了。 luogu 题解时间 我怎么又在做水题。 就是区间带乘数权众数。 经典回滚莫队,一般对于延长区间简单而缩短区间难的莫队题可以考虑。 思路就是对于所有l在同一块的询问,只记录在这一块以外的扩展贡献,而对于在块内的部分每次暴力记录 ...
分类:
其他好文 时间:
2020-06-30 20:46:39
阅读次数:
57