Description 思路 cf题解中合法的x的处于一段连续区间不太明白。在知道这个前提下,将E1的代码改成二分即可。 有空再补回来。 #include <iostream> #include <cstdio> #include <queue> #include <algorithm> #incl ...
分类:
其他好文 时间:
2020-07-04 19:00:50
阅读次数:
82
1. No Nine Q: 求 [L, R] 的合法数字个数,合法数字是不能包含9也不能被9整除。L和R一定合法。 A: 自己的想法:区间内多少含有9的数字,多少9的倍数,多少又包含9又是9的倍数,分别计算出来。区间内如果不好求,就写一个函数,是[1,x]内的数字个数,然后[1,R]-[1,L] 官 ...
分类:
其他好文 时间:
2020-07-04 18:48:28
阅读次数:
57
1、折半查找 思想:分治策略。把n个元素分成个数大致相同的两半,取a[n/2]与查找的key相比,一直搜索下去。 比如:总共有n个元素,每次查找的区间大小就是n,n/2,n/4,…,n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数。 由于n/2^k取整后>=1,即令n/2^k=1, 可得 ...
分类:
编程语言 时间:
2020-07-04 16:53:46
阅读次数:
72
知识点前置 ·树状数组 题面来源 https://www.luogu.com.cn/problem/P3031 题目大意 给你一个长度为 \(n\) 序列,求出满足以下条件的子序列个数有多少个: 中位数大于给出的 \(k\) 解题方法 自己想了半天才打出来 分割线 因为我们要求的区间中,每个数 $a ...
分类:
其他好文 时间:
2020-07-04 11:55:05
阅读次数:
67
区间dp问题是在定义状态时,定义了一个区间 区间dp的状态表示一般是dp[i][j],表示从i到j这个区间,也就是从第i堆石子到第j堆石子这个区间 以最后一次合并的分界线的位置,来进行集合的划分 假设从i到j一共有k个,k = j - i + 1 按照左右两堆左边有几个来划分,左边有1个,2个,.. ...
分类:
其他好文 时间:
2020-07-04 01:27:12
阅读次数:
70
区间动态规划特点 区间类动态规划是线性动态规划的扩展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的哪些元素合并而来由很大的关系。令状态 \(f(i,j)\) 表示将下标位置 \(i\) 到 \(j\) 的所有元素合并能获得的价值的最大值,那么 \(f(i,j)=max\{ f(i,k ...
分类:
其他好文 时间:
2020-07-04 01:04:24
阅读次数:
41
Given an array A of integers, return true if and only if we can partition the array into three non-empty parts with equal sums. Formally, we can parti ...
分类:
其他好文 时间:
2020-07-03 21:13:36
阅读次数:
57
给定 $N$ 个白球排成一行,再给定长度为 $K$ 的仅由 'r', 'b' 组成的字符串 $s$,分别表示红色与蓝色。
执行 $K$ 次染色操作,第 $i$ 次任意选择区间 $[L, R]$(可以为空)并染上 $s_i$ 所对应的颜色,新颜色将会覆盖原颜色。
额外限制:不能将白色直接涂成蓝色,即... ...
分类:
其他好文 时间:
2020-07-03 21:02:13
阅读次数:
39
双指针算法 模板 for (int i=0;i<n;i++) { while(j<i && check(i,j)) j++; /* 这里面 的 j 相比于两重循环,不用 回调 所以时间复杂度低 */ //具体问题的逻辑 } /* 常见问题分类: (1) 对于一个序列,用两个指针维护一段区间 (2) ...
分类:
其他好文 时间:
2020-07-03 19:09:58
阅读次数:
50
一、概述 咱们今天聊聊分布式事务系列中的最后一个方案:最大努力通知事务。最大努力通知事务的主流实现仍是基于MQ来进行事务控制。最大努力通知事务和事务消息都是通知型事务,主要适用于那些需要异步更新数据,并且对数据的实时性要求较低的场景。 最大努力通知事务主要用于外部系统,因为外部的网络环境更加复杂和不 ...
分类:
其他好文 时间:
2020-07-03 19:04:46
阅读次数:
58