
队内补题
mxYlulu
ACM燃烧我的卡路里
展开
-
CodeChef - QRECT
题意带删除的询问与当前矩阵相交矩阵个数题解增加一个就是加一,删去一个就是减一。矩阵相交有多种办法,但是要用到数据结构中就需要一种不需要maxmaxmax或者事先排序的方法。我们可以通过计算不相交的个数,即在上下左右之外的。然而这样算出来是不够的,左上左下右上右下会重复计算,所以树状数组计算上下左右。CDQ计算四个角。最后拿已有的减去即可。思路比较简单,但是代码很恶心。#include<bits/stdc++.h>#define FOR(i,a,b) for(int i=a;原创 2020-06-19 10:56:25 · 289 阅读 · 0 评论 -
2018 吉林 H
题意nnn个字符串,在区间每个字符串两端加上一个字符,并求数字和(加的数字都是单位(0→90\to90→9))。题解首先要知道,对于单个数。加上ddd,d∗10∗10len+sum+dd*10*10^{len}+sum+dd∗10∗10len+sum+d。区间就是,d∗10∗(10len1+10len2+...+10lenr)+sum+(d1+d2+...+dn)d*10*(10^{len_1}+10^{len_2}+...+10^{len_r})+sum+(d_1+d_2+...+d_n)d∗1原创 2020-06-16 19:19:16 · 209 阅读 · 0 评论 -
牛客挑战赛38 B子串翻转
题意对长度固定mmm的子区间翻转,单点询问。保证翻转操作的起始下标递增。题解可SplaySplaySplay,也可O(n)O(n)O(n)首先我们固定一个窗口,用一个标记表示是否翻转。如果被翻转了,加进元素就加在头,否则加在尾。访问的时候,标记决定正着找还是倒着找。如果不在窗口内的,直接得到答案。当前操作下标之前的不会被再次操作(递增),所以在滑动窗口的时候直接赋值。#incl...原创 2020-03-24 09:37:38 · 219 阅读 · 0 评论 -
2018青岛D
题意懒得说了题解枚举AAA的第一位,得到BBB。保证得到的都是个位数。这样是可以的,因为不会存在个位数相乘既可以得到个位数又可以得到两位数。通过BBB反过来得到AAA。每次找AAA的时候保证得到的AAA是同一个值。保证可以得到值(可能找不到合法的)保证不会提前到终点(AAA数组还没构造完)保证个位数保证BBB数组每次都查询完毕#include<bits/stdc++.h...原创 2020-03-20 20:27:33 · 236 阅读 · 0 评论 -
UESTC 2020 Winter Training #1 Basic Data Structure【Animal Transport】
题意四种物品,nnn个,每个有自己的起点和终点,相邻物品不能放一起。卡车按顺序访问地点,要求求出运输物品为iii的时候,去的最大地点标号。不能跳过任何地点。题解易知,1、31、31、3物品放一块,2、42、42、4放一块。如果只放同一种不冲突的话,如何求呢?我们可以发现的是,最大地点标号为pospospos时,显然包含所有r≤posr \leq posr≤pos的物品。也就是,我们...原创 2020-03-02 17:33:09 · 323 阅读 · 0 评论 -
Sticey_training#3[MEDIUM]
已补(2/9)A题意每天可以加一个水位标记,标记可以重合,并且告诉你每天在当前水位上有多少个标记,求每天水位下标记总和。题解先求出每天至少多少个,取前缀最值。但是这样是最少的情况,而且不一定合法,因为每天最多一个。所以倒过来取max(a[i+1]−1,a[i])max(a[i+1]-1,a[i])max(a[i+1]−1,a[i])得到每天个数之后,n−m[i]−1n-m[i]-1...原创 2020-01-26 11:14:06 · 180 阅读 · 0 评论 -
Sticey_training#1[HARD]
已补2/72/72/7CodeForces - 510E题意给定多个数,形成多个环,保证环上相邻和是素数。题解刘大爷提示网络流之后就开始往那方面想。把题目转换成,找nnn条边,并且保证每个点只和两条边相连。但是怎么建图都只能限制度数或者边数。题解是采用了素数=奇数+偶数。也就是每条选择的边一定是奇数和偶数。设置一个二分图,左边奇数,右边偶数,一旦选择一条边,就会用掉一个点的度数。...原创 2019-12-25 23:25:44 · 187 阅读 · 0 评论 -
Sticey_training#1[MEDIUM]
已补2/52/52/5CodeForces 1268C题意对于nnn的排列,f(i)f(i)f(i)表示求出通过交换相邻元素得到111~iii的连续段的最小次数。并输出f(i),i∈[1,n]f(i),i∈[1,n]f(i),i∈[1,n]题解如果是对于连续段相互交换得到最终阶段,显然答案是逆序对个数。而这个实际情况是要把非连续转换成连续。要求最小化∣pos1−(x−k)∣+∣po...原创 2019-12-25 23:08:37 · 181 阅读 · 0 评论 -
2012 杭州网络赛题解
Arrest题意城市000是警察局,有kkk支小队,有nnn个城市有犯罪迹象。对于第iii个城市,如果去抓捕这个城市的罪犯,那么它会迅速告诉第i−1i-1i−1个城市。简单来说就是要顺序抓捕,到达一个城市可以选择不抓捕,最后要回到警察局,求所有小队的最小距离总和。题解每个城市只会被抓捕一次,某个小队在第iii个城市,可以选择继续去抓捕第jjj个城市,iii和jjj城市之间的城市由其他小...原创 2019-09-01 00:46:10 · 195 阅读 · 0 评论 -
A*相关
网上很多的解析很详细(但我现在只是需要一个简单的板子,因为主要重心不在这里而是图论其他的简单部分的熟练应用。等到以后我会扩充。A∗A*A∗的核心在于估价函数,预估以后最应该走的路。所以我们实现求出每个点到终点的距离,每次bfsbfsbfs扩充,扩充的过程中不断增加路径长度,同时以f[node]=cost+d[node.to]f[node]=cost+d[node.to]f[node]=cost...原创 2019-06-04 17:15:46 · 153 阅读 · 0 评论 -
图论A题、B题
就是两道很巧妙的题,记录在这里。A题反转边,使得任意一点总能走到底(随机走)。但是坏的情况是,无限走环。所以我们需要反转边使得无环,同时价值等于最大边,要求价值尽可能的小。有价值是最大边的限制,我们很容易想到二分。对于环的剔除,只要修改环的一条边即可,但是这样可能造成新的环。我们反过来思考,对于一个无环图,怎么加边使得依旧无环呢。无环图的拓扑排序是合法的,不存在从拓扑排序后面的指向...原创 2019-06-30 03:35:36 · 207 阅读 · 0 评论 -
UESTC 2018 Summer Training #13 Div.2 初步题解
只做出来4题hhhhhhhhh太菜了还是。一共10题,目前完成了888道题,还有AAA、GGG未完成。比赛地址BBB:要求:求有多少严格上升子序列。题解:容易想到以第iii个元素为结尾的子序列个数等于所有之前的比它小的序列数加上它自己。dp[i]=∑a[j<i]<a[i]dp[j]dp[i]=\sum_{a[j<i]<a[i]...原创 2019-06-10 03:08:11 · 198 阅读 · 0 评论 -
最短路的简单进阶(建图的优化)
这一篇描述了关于最短路的简单变式对于最后一道题,真正复杂度通过的做法是拆点。类似于网络流的拆点,不过这里的拆点,是为了使得处理边权信息得到可能。正常对点无法记录边权信息,我们可以考虑拆点将这样的信息暴露出来。对于每个点发出的颜色,相当于可以独立出一个点。到达这个点只会可以通过这个点直接到达另一个点(不需要花费)。有三个点u,v,ku,v,ku,v,k,对于这三个点有两条边且颜色都是cc...原创 2019-06-30 03:35:43 · 239 阅读 · 0 评论 -
[Gym 101755]UESTC 2018 Summer Training #12 Div.2初步题解
这是基于在目前能力内完成的题解。这场比赛我做出了666题,实际上可以做出888题。还有111题是真的缺少了这类思想。地址:实质上是一场gymgymgym截止到现在:还剩下D、G、I、F\color{red}D、G、I、FD、G、I、F题未补AAA: 已知a、ba、ba、b的sumsumsum和gcdgcdgcd,求出一组可能解a+b=xk+yk=suma+b=xk+yk=suma+b=...原创 2019-06-08 12:10:20 · 282 阅读 · 4 评论 -
UESTC 2018 Summer Training #1 Div.2 (总结)
AWe often compute the average as the first step in processing statistical data. Yes, the average is a good tendency measure of data, but it is not always the best. In some cases, the average may hin...原创 2018-07-17 11:10:09 · 1072 阅读 · 0 评论 -
UESTC 2018 Summer Training #6 Div.2
A小Hi在玩一种牌类游戏,每张牌的属性值可以看成一个三元组(Ai, Bi, Ci),我们定义一张牌 (p1, p2, p3) 比 (q1, q2, q3)大,当且仅当集合{1, 2, 3}中有至少两个数x满足px>qx例如 (5, 1, 3) 比 (4, 10000, 2) 大现在小Hi获得了一种特殊能力,他能在比大小之前,随便改变自己的牌的属性的顺序,例如将 (1,2,3) 改...原创 2018-07-28 20:54:05 · 260 阅读 · 0 评论 -
UESTC 2018 Summer Training #3 Div.2 G
小羞耻。就写出来一题。啊呜呜呜。而且后面几次都是如此...哭唧唧。GFirst line of the input file contains an integer T(0 < T <= 100) that indicates how many cases of inputs are there.The description of each case is g...原创 2018-07-22 10:21:54 · 252 阅读 · 0 评论 -
UESTC 2018 Summer Training #4 Div.2
这次没去考试:就考试结尾场外交题了一道题。B题是补得。因为和女朋友和好啦 开心 我以后要好好对她 不可以惹她生气了。好好学习。加油!AThe ACM International Collegiate Programming Contest has been held in Vietnam for more than 1010 years. The contest is a great ...原创 2018-07-22 10:37:43 · 474 阅读 · 0 评论 -
HDU 1394+codeforce 459 D— —归并排序 简单离散化 线段树 树状数组— —求逆序列。
HDU 1394题意:第一个数可以放到最后一个后面,在随意多少个这样的操作或者不操作的情况下,问逆序列最少有多少个。模拟一下这个操作,由于这道题只有0~N-1,所以就更加方便了。对于第一个数A[i],比A[i]小的数一定在后面,所以以A[i]为前的逆序列有A[i](从0开始的),放到后面之后,比A[i]大的有n-1-A[i]个,也就是多出了这么些的序列,总共变化位-A[i]+n-1-A...原创 2018-07-22 10:38:11 · 228 阅读 · 0 评论 -
UESTC 2018 Summer Training #5 Div.2
A题GREAT+SWERC=PORTOWe want to have a great SWERC at Porto this year and we approached this challenge in several ways. We even framed it as a word addition problem, similar to the classic SEND+MORE=...原创 2018-07-22 10:47:24 · 343 阅读 · 0 评论 -
并查集对状态的维护
这里的题目一般都是维护状态,每个集合表示的是一种状态(一般为两个)题目会询问第一次状态冲突的时候[并查集添加状态的时候发现已有状态并且状态不对]数据结构K题K题讲述的是:告诉你n个区间的和的奇偶,判断第一个矛盾的地方。区间和的奇偶可以转换成可以维护的前缀和之差的奇偶,和为奇,前缀和sum[l-1]和sum[r]一定奇偶不同。前者奇后者偶,或者反过来。这两种状态我们都添加到并查集...原创 2019-05-19 13:12:16 · 301 阅读 · 0 评论 -
简谈分层图
分层图是一个处理对边存在额外操作的较好的处理方式。这里引入一道例题,在正常的最短路中,你可以挑选k条路不需要花费时间,那么最小总花费是多少?存在一种dpdpdp的处理方式,dp[i][j]dp[i][j]dp[i][j]表示到第i个节点用了j次免费,dp[n][0 k]dp[n][0~k]dp[n][0 k]即为答案。那么怎么去转移呢,dp[v][j]=min(dp[u]...原创 2019-06-30 03:35:31 · 345 阅读 · 0 评论 -
拓扑排序+并查集
图论专题M题题意主要是:给出两个值大小关系,每个值至少为1,求出值的总和最少为多少,如果有矛盾输出-1这道题之所以记下来,主要是处理图的方式是比较经典的,我觉得值得参考。我一开始想到spfa,又因为这是多源的,所以采用了拓扑排序求最长路。用并查集维护相等关系,最后对每个值取同一集合中最大值。如果存在环,说明出现矛盾。但是相等关系出现矛盾怎么维护呢?这个就是关键点了,对于1->3-...原创 2019-06-30 03:36:01 · 215 阅读 · 0 评论 -
贪心+double二分+最小生成树
图论O题题意:空间里有n个点,连接出一条最小生成树保证高度之和/水平长度之和尽可能小。题解:考虑把生成树的总权值等价于:每条边的权值(暂时不会计算)wiw_iwi,每条边选择或者不选择为xix_ixiW=∑i=1n(n−1)xi∗wiW=\sum^{n(n-1)}_{i=1}{x_i*w_i}W=∑i=1n(n−1)xi∗wi如果最后的答案是ansansans,显然满足W=∑x...原创 2019-06-30 03:35:49 · 191 阅读 · 0 评论 -
2018 UESTC ACM Summer Training Team Selection (3) (赛后补题)
2018 UESTC ACM Summer Training Team Selection (3) 由于自己水平有限,补题补的都是感觉应该能做出来的题目。(包括水过去的和没做出来的)由样例我们可以发现,9可以以为基础被拆分成3^2、3^1、3^0,这三种情况综合起来的总次数就是答案。动规方程为dp[n][k](k表示最大的数不超过m^k),dp[n][k]=dp[n][k-1]+dp[n-m^k]...原创 2018-06-27 10:03:45 · 399 阅读 · 0 评论