ICode9

精准搜索请尝试: 精确搜索
  • Codeforces 1666F. Fancy Stack2022-07-14 16:38:02

    传送门 \(\texttt{Difficulty:2200}\) 题目大意 一个长为 \(n(1\le n\le5000,n\) 为偶数 \()\) 的升序序列 \(a(1\le a_i\le n)\) 。将 \(a\) 中的元素重新排布,组成序列 \(b\) ,使得 \(b_1 < b_2 > b_3 < b_4 > \ldots > b_{n-1} < b_n\) 并且 \(b_2 < b_4 < b_6 <

  • CF223C Partial Sums2022-07-14 14:33:06

    典 将前缀和看成乘上 \(1+x+x^1+x^2+...+x^n\),快速幂加多项式乘法即可。 考虑先前缀和一次,将 \(k-1\)。 考虑记 \(k\) 阶前缀和为 \(sum_{(k,i)}\) 那么 \(sum_{(k,i)}=sum_{(k,i-1)}+sum_{(k-1,i)}\) 抽象成网格图上的游走,每次可以向下或者向右走一格。 第一行的点对第 \(k\) 行

  • 扩展KMP学习小记2022-07-13 20:31:51

    简介 扩展KMP(又称EXKMP)是干嘛的? 大概目前已知的可以处理一个字符串和每个后缀的LCP长度,或者匹配串和被匹配串的LCP长度。 做法 先以求出一个字符串和自己后缀的LCP为例。 我们从小到大按位处理,如果暴力往后跑匹配是\(O(n^2)\)的,不能通过。 如果我们记录了之前已经匹配好的区间中

  • 「2017 山东一轮集训 Day6」子序列2022-07-13 20:03:17

    复盘 \(\color{black}{\text{c}}\color{red}{\text{yx}}\) 讲的题,我是不会告诉你我不知道他网名的。 这可以来一手反复鞭尸( Description 区间本质不同子序列,母串长度 \(n\) ,询问 \(q\) 次,字符集大小 \(|\sum|\) 。 \(n,\ q\leq 10 ^ 5,\ |\sum| \leq 9\) Analysis 本来还有一个区

  • CF1437C (dp,排序去除后效性)2022-07-13 19:04:40

    CF1437C (dp,排序去除后效性) 题意 \(n\) 个菜,每个菜有一个出锅时间 \(t_i\) ,每一个整数时刻 \(T\) 可以取出一道菜。定义 \(|T-t_i|\) 为每道菜的不美味值,求最小的不美味值的和。 \(n \le 200\) 思路 考虑dp。定义 \(dp[i][j]\) 表示取出了 \(i\) 道菜且最后一道菜取出时间为 \(j\)

  • CF1294E Obtain a Permutation2022-07-13 16:34:07

    https://www.luogu.com.cn/problem/CF1294E 按列考虑,先对于列中每个找当哪一个为第一个时,这个恰好摆放正确。 即 \(a_{i,j}=(i-1)*m+j\),记 \(qwq=(a-j)/m\),则当第一个在 \(i-qwq\),时这个摆放正确,或者考虑 \(qwq=n-x+i,x=n-qwq+i\),然后枚举第一个就好了。 注意判下是否值在这列,不仅

  • 我的马蜂2022-07-13 14:03:07

    真的是,到最后还是从快读的行列里退出来了。 说明一下我博客里面奇奇怪怪的八格缩进是一个 bug ,我还在找 bug 的路上( 实际上我是一个标准的四格党,当然我也不会觉得所有其他缩进的就不好看( 标准板子: /* */ #include <bits/stdc++.h> using namespace std; #define File(a) freope

  • 20220711模拟赛2022-07-13 09:04:13

    F: 题意:给定n个不大于c的正整数a1~an和m组询问,每次问 [l,r] 中有多少个数出现正偶数次。 注:强制在线 一道分块题,思路类似区间分块9(众数)那道题,连续块的答案可以用暴力来维护,每次询问时散点枚举,其对答案的贡献显然。 点击查看代码 #include<bits/stdc++.h> #define get(i) (((i-1)/

  • 【数据结构】线段树分治2022-07-12 21:32:18

    目录 线段树分治 本题做法 实现 线段树分治 事实上线段树分治的做法很简单,就是在时间轴上开线段树,以方便处理在一段时间内其效果的操作。 比如说,现在整棵线段树维护的时间范围是 \([1, 3]\),开出的线段树自然是: 现在有一个操作在时间 \([1, 2]\) 上作用,那么对应于线段树的节点就

  • a declaration cannot have a label2022-07-12 19:37:29

    目录1.问题2.分析3.解决4.应对 1.问题 2.分析 经过一番查找,发现是编译器的自己解释的局限性所致,会产生误分析。 与之类似的常见现象,还有在使用switch时在case 后面申请变量会出现 error: a declaration cannot have a label 的提示。 从网上找到的答案如下: Case statements are o

  • redis中的robj结构体对象2022-07-12 00:05:35

    1.对象结构体robj typedef struct redisObject {     unsigned type:4;     unsigned encoding:4;     unsigned lru:LRU_BITS; /* LRU time (relative to global lru_clock) or                             * LFU data (least significant 8 bits frequenc

  • CodeForces 1677D Tokitsukaze and Permutations2022-07-11 16:08:01

    洛谷传送门 CF 传送门 还不错的一道思维 + 计数题。 思路 考虑一次操作后对 \(v\) 数组的影响:相当于将 \(v\) 数组左移一位,原本的 \(v_1\) 被覆盖了,\(v_n\) 补零,然后对于 \(i \in [1,n-1]\),\(v_i \gets \min(v_i - 1, 0)\)。同时还可以发现一个 \(v\) 数组对应着唯一一个排列。 考

  • P1948 [USACO08JAN]Telephone Lines S (分层图最短路/二分+最短路)2022-07-11 16:05:13

    题目描述 [USACO08JAN]Telephone Lines S 题目描述 Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncooperative, so he needs to pay for some of the cables required to connect his farm to the phone system. There are

  • 【图论/平面图】AcWing 403. 平面2022-07-11 15:42:29

    平面图 首先介绍一下平面图的相关性质: 若图 \(G\) 能被画在平面上且不同的边仅在端点处相交,则称图 \(G\) 为平面图。画出的没有边相交的图称为 \(G\) 的平面表示或平面嵌入。 一个图的平面嵌入会将整个平面划分成若干个互不连通的区域,每个区域称为一个面。 其中,无界的区域称作外

  • [CF1670E]Hemose on the Tree 题解2022-07-11 13:35:48

    传送门QAQ Preface 还是不会构造题啊>_< 发现性质的能力还是弱了点。 Analysis 直接说这题的结论:异或和的最小最大值为 \(n\)。 很简单,只要存在一个点和它连出去的边,两个的权值一个 \(\ge n\),一个 \(\lt n\),由于 \(n = 2^p\),珂以推出两者的异或和 \(\ge n\)。 而这样的一个点显然

  • P3346 [ZJOI2015]诸神眷顾的幻想乡2022-07-11 12:06:02

    传送门 题目大意 一棵 \(n(1\le n\le10^5)\) 个节点的树,每个树上有一个颜色值 \(c_i(1\le c_i\le10)\) 。求树上本质不同的路径数,两条路径本质不同当且仅当路径上形成的颜色序列本质不同,保证度数为 \(1\) 的节点数量 \(<20\) 。 思路 如果只考虑从上到下的路径,那么把这棵树当成一

  • c++ 数据类型2022-07-10 15:36:41

    数据类型 类型 说明 char 字符型, 一个字节 int 整型 float 单精度浮点型 double 双精度浮点型 bool 布尔类型, c++新增的类型, c语言中没有. 限定符 整型限定符: short, long; 用于限定整型. 比如: short int sh; long int counter; 另外 long还可以限定doubl

  • codeforces div2 1684D. Traps(贪心排序)2022-07-10 12:32:20

    这个题好像也没有什么好说的,就是一个数列,包含一些陷阱,造成的伤害是那个位置上的数字,你有k次可以跳过去的机会,但跳完之后后面的陷阱伤害就会+1 一开始很好像,我们可以总结一下每个跳过操作对后面造成的影响,首先减去的伤害是a[i], 但是又会增加n - i点其他伤害,所以就按照实际减去的伤

  • Akuna Capital笔试第二题, 找出异或大于与操作的对数量2022-07-10 12:00:32

    题意很简单,就是给一个数组,找出有多少个对是x ^ y > x & y 首先这题cf味道很冲,感觉当个div2b不是问题,那么我们就来考虑下高位讨论    所以我们可以计算出来每个ai的高位是多少,然后等差数列求和一下就行,最后用总对数减掉高位相同的对数,就是我们要的答案 #include <bits/stdc++.h

  • [loj3396]novel2022-07-10 11:02:39

    建立AC自动机,记$|x$和$fail_{x}$分别表示$x$的深度(从$0$开始)和失配指针 记$W_{x}$表示以$x$为结束节点的字符串权值和$,S_{x}=\sum_{z在(fail树中)x到根路径上}W_{z}$ 对于字符串$s_{i}$,定义$pos_{r}$表示$s_{i}[1,r]$在AC自动机上的位置,则$$g(s_{i}[l,r])=g(s_{i}[l,r))+\sum_{x

  • Educational Codeforces Round 131 D - Permutation Restoration2022-07-10 01:01:38

    对于每个bi,可以求出ai属于 [(i / (bi + 1)) + 1 , i / bi] 然后就是贪心,参考了yyg的写法 依次枚举1~n,枚举到第i个时,把左边界为i的都放进优先队列,此时优先队列中所有元素的左边界<=i,取出一个右边界最小的即可 因为保证有解,所以取出的元素右边界一定>=i(反证:如果右边界<i,那么肯定属

  • NC53074 Forsaken喜欢独一无二的树 (最小生成树)2022-07-09 23:35:28

    题目 代码 // Problem: Forsaken喜欢独一无二的树 // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/problem/53074 // Memory Limit: 2 MB // Time Limit: 53074000 ms // Created Time: 2022-07-09 22:41:37 // // Powered by CP Editor (https://cpeditor.org) //

  • luogu P5064 [Ynoi2014] 等这场战争结束之后2022-07-09 22:04:44

    题面传送门 按秩合并并查集写错复杂度假掉以为自己被卡常卡了好久。 首先这种撤销题看上去就是把操作树建立出来然后dfs变成加入与撤销。 然后我们考虑对值域分块,这样看上去求\(k\)小值会可做一些。 首先我们需要确定每个询问在哪个块,这并不困难。我们考虑在dfs时用并查集维护,并查

  • AtCoder Beginner Contest 200 F2022-07-09 20:02:36

    这题的思路很清晰,和这题类似。 我们先考虑不将它重复\(k\)次,即字符串\(S\)所有的方案的和的平均数。 首先,若没有?\(最少的次数=\lceil\frac{相邻两个数不同的个数}{2}\rceil\),那我们将每两个不同的字符的贡献看成\(\frac 1 2\),由于若相邻的不同的个数为奇数时要向上取整,我们发现,此

  • luogu P6976 [NEERC2015]Distance on Triangulation2022-07-09 18:36:43

    题面传送门 容易发现三角剖分一定是一个平面图。因此所有边除了在端点不交。 如果我们有一条边,并把这两个点及其相邻的边删去,则会分成两个联通块。如果一个询问的两端点分别在这两个联通块内,则这两个点之间的最短路一定会经过这条边两个端点中的一个。于是我们有了一个类似于分治

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有