题目 题目大意 给你一个由整点组成的矩形,坐标绝对值范围小于等于\(n\),你在\((0,0)\),一开始面向\((1,0)\),每次转到后面第\(k\)个你能看到的点,然后将这条线上的点全部标记删除. 问最后一个被标记删除的点的坐标. 正解 先吐槽一句,原来删除的点是一条线上的,而不是一个点-- 害得我以为是一道神题--更可恨的是,我看不出我的暴力有什么错! 既然一次删除的点是在一条线上的,那不妨将整条线上的东西看成一个点. 那就变成了一个约瑟夫问题(也就是猴子选大王). 共有\(8\sum_…
Description: 小 D 的家门口有一片果树林,果树上果实成熟了,小 D 想要摘下它们. 为了便于描述问题,我们假设小 D 的家在二维平面上的 (0, 0) 点,所有坐标范围的绝对值不超过 N 的整点坐标上都种着一棵果树.((0, 0) 这个点没有果树) 小 D 先站在 (0, 0) 处,正对着 (1, 0) 的方向. 每次摘果实时,小 D 会逆时针选择他能看到的第 K 棵还未摘取果实的果树,然后向着这个方向走去,在行走的过程中摘下沿路的所有的果树上的果树果实,直到走到果树林的边缘. 接…
题目描述 题解 随便bb 详细题解见 https://www.cnblogs.com/coldchair/p/11624979.html https://blog.csdn.net/alan_cty/article/details/84557477 https://www.cnblogs.com/Iking123/p/11626041.html 这里讲讲自己发现的东西和一些细节 f[i][p][a]表示第i位以后(包括第i位)的最大值,a表示个位,在第i为进1的个位会变成什么 为什么要包括第i位…
题目描述 题解 吼题但题解怎么这么迷 考虑一种和题解不同的做法(理解) 先把僵尸离散化,h相同的钦(ying)点一个大小 (可以发现这样每种情况只会被算正好一次) 计算完全被占领的方案,然后1-方案/概率 由于大小确定了,所以最后会被分成若干不相连的块,且块中至少有一只僵尸,大的僵尸能占领小的僵尸的块,所以相邻两块之间一定会断开 那么一种占领的方案对应的是一类高度情况,考虑所有的占领方案即可求出所有的高度情况 定义一个块的编号为所占领的最大僵尸的编号 设f[i][x](x>0)表示以i为根的子树…
题目描述 题解 之前做过一次 假设图建好了,设g[i]表示i->j(i<j)的个数 那么ans=∏(n-g[i]),因为连出去的必定会构成一个完全图,颜色互不相同 从n~1染色,点i的方案数是(n-g[i]) 用线段树合并维护集合即可 code #include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio>…
题目 题目大意 给你一棵树,对于每一条边,求删去这条边之后,再用一条边(自己定)连接两个连通块,形成的树的直径最小是多少. 正解 首先,将这棵树的直径给找出来.显然,如果删去的边不在直径上,那么答案就是直径. 接下来考虑删去的边在直径上的情况. 自己连的边应该要是两棵树的直径的中点(中点就是直径上到端点最大距离最小的点). 答案就是两棵树的直径的一半(当然这是粗略的说法)加上边权,和两棵树内部的直径长度的最大值. 设直径端点为\(S\)和\(T\),现在想象直径是横过来的一条线,有一堆树挂在上面…
题目 题目大意 给你一个数列,每次可以选择任意两个相邻的数\(x\)和\(y\),将其删去,并在原来位置插入\(x+2y\). 每次询问一个区间,对这个区间进行上述操作.求最后剩下的数最大是多少. 答案需要取模. 思考历程 看到这题,第一个想法是:这题既要搞个最大值,又要取模,所以肯定是贪心. 然而不会-- \(O(n^3)\)的暴力是可以打的,直接区间\(DP\).然而我没有打. 其实最大的瓶颈是,我需要比大小,然而数太大,会炸掉-- 这题题面本身就对暴力不友好-- 正解 其实我比赛的时候就发…
题目描述 Description Input Output Sample Input 见下载 Sample Output 见下载 Data Constraint 题解 lj题卡线段树 求出每个右端点往左第一个跳到的点,可以变成一棵树 如果r1r2(r1<r2)中间没有把两个点分开的弦,那么就是r1的深度 用一个单调栈可以求出往左跳到的点(每次把若干小区间合并),但是有可能一条弦跳到的位置会被向后的一条弦切断 所以再用一个单调栈求出每个右端点向左第一个跨过它的左端点,如果再维护过程中出现了交叉的情…
题目描述: \(1<=n,ai<=5*10^5\) 题解: 我是弱智我不会期望线性. 设\(E(a[i])\)表示第i个期望被减的个数. \(E(a[1])=a[1]\) 不难发现\(E(a[i])(i>1)\)之间互不影响,其实这很难. 考虑固定这两个,它们两个选到的概率一样,选到其它的就无视就好了. 那么只用考虑\(n=2\)的情况,这个直接暴力枚举\(a[1]\)结束时\(a[i]\)有几个,乘个\(1\over 2\)的几次方和组合数,式子如下: \(=a[i]-\sum_{i=…
题目 题目大意 有个二叉树,满足每个点跟它的所有祖先互质. 给出二叉树的中序遍历的点权,还原一种可能的方案. 思考历程 首先想到的当然是找到一个跟全部互质的点作为根,然后左右两边递归下去处理-- 然而考虑到和全部互质的点可能有很多个,这样的做法可能会退化到很多-- 先预处理了个\(L_i\)和\(R_i\)表示\(i\)左边第一个和\(i\)不互质的位置和右边第一个和\(i\)不互质的点. 这个东西怎么预处理就不用说吧-- (我估计正解肯定也要处理这东西) 然后就是乱搞-- 想不出正解,于是打了…
题目 题目大意 给你一个区间\([l,r]\),求这个区间内每个整数的十进制上从高位到低位的逆序对个数之和. 思考历程 一开始就知道这是个数位DP-- 结果一直都没有调出来,心态崩了-- 正解 先讲讲我的SB做法. 先设\(f_i\)表示压着第\(i\)位(从低位到高位,从\(0\)开始)的贡献. 于是转移就是这样: 计算第\(i\)位的贡献.这一位的贡献可能有点难计算,所以我预处理了一个\(h_{i,j,0/1}\)表示是否压着\(i\)位,\(0\)到\(i\)位对\(j\)的贡献(\(j\…
题目 题目大意 给你一棵树,带点权和边权. 要你选择一个联通子图,使得点权和乘最小边权最大. 支持修改点权操作. 思考历程 显然,最先想到的当然是重构树了-- 重构树就是在做最大生成树的时候,当两个联通块相连时,新增一个点,将两个联通块的根节点连上去. 这个新建的点上记录这条边的边权,那么以它为子树的答案就是子树的点权和乘上自己表示的这条边的边权. 然后题目就变成了一个似乎很经典的问题:给你\(a_i\)和\(b_i\),每次修改可以将区间内的\(a_i\)区间加,询问最大的\(a_ib_i\)…
题目 题目大意 给你一串二元组\((a_i,b_i)\)的数列. 求最小的区间\([l,r]\)长度,满足\([l,r]\)中的每个二元组选或不选,使得\(\sum a_i=w\)且\(\sum b_i\leq k\) 思考历程 想了好久,想来想去都是一个背包-- 最终决定打暴力-- 正解 先说说GMH大爷的神奇解法. 首先是二分答案\(ans\),转化成判定问题.然后在数列中每\(ans\)个点设置一个观测点. 以每个观测点为中心,向左和向右背包,然后合并. 然而正解并不需要一个\(\log\…
题目 题目大意 有一个字符串\(p\).一开始字符串\(s\)为空串. 接下来进行若干次操作:在\(s\)的某个空隙中插入\(p\). 给出操作后的\(s\),问长度最小的\(p\). 思考历程 感觉是一道神仙题. 于是考虑暴力. 在\(s\)前面找连续的最长串,作为\(p\)的前缀.显然这个串中只出现过一次\(s_1\) 同样地,在后面也找一条,作为后缀. 将前缀出现的位置和后缀出现的位置标记一下. 统计每个字符出现的个数,求最大公因数\(g\),表明操作的次数为\(g\)的因数. 然后按照长…
题目 题目大意 给你一颗带点权的树,后面有许多个询问\((u,v)\),问: \[\sum_{i=0}^{k-1}dist(u,d_i) \ or \ a_{d_i}\] \(d\)为\(u\)到\(v\)路径上的点. 思考历程&正解 其实我只会我的方法--题解说得太简略了,集训队大佬Infleaking的方法完全听不懂-- 首先看到这道题,就立马觉得是神仙题. 但是想到既然是树题,那应该不会太难. 于是我开始试着\(LCT\)建立联系--但是发现这个操作真是太骚了,用\(splay\)真的不好…
题目 题目大意 给你个非负整数数列\(a\),每次等概率选择大于零的\(a_i\),使其减\(1\). 问\(a_1\)被减到\(0\)的时候期望经过多少次操作. 思考历程 对于这题的暴力做法,显然可以状态压缩吧-- 然后我突然意识到,实际上我们将题目转化成以下模型: 有\(n\)种颜色,第\(i\)种颜色的小球有\(a_i\)个.那么题目就变成了一个有重复元素的排列问题. 先将\(2\)到\(n\)排列求出来,然后考虑将\(1\)随机插入. 枚举最后一个\(1\)出现的位置,然后在前面用组合数…
目录 @description@ @solution@ @accepted code@ @details@ @description@ 为了保护环境,p6pou建设了一个垃圾分类器. 垃圾分类器是一个树形结构,由 n 个垃圾桶和 n-1 条双向传送带组成. 垃圾处理器的编号为 1, 2, ..., n,每条传送带都可以花 1 秒钟将垃圾从一个垃圾桶输送到另一个垃圾桶. 垃圾投放点是编号为 r 的垃圾桶,垃圾总是投放在这里. 垃圾共有 n 种,编号也是 1, 2, ..., n. 编号为 i 的垃…
题目描述 题解 一种显然的水法:max(0,-(点权-边权之和*2)) 这样会挂是因为在中途体力值可能会更小,所以考虑求走完每棵子树所需的至少体力值 考虑从子树往上推求出当前点的答案 设每棵子树从根往下走的所需体力值为f,走完的贡献为sum 由于要加上 当前点-->儿子 这条边,所以实际上走完的贡献sum'=sum-边权*2 所需的体力值f'=max(边权+f,2*边权-sum),这里其实有两种情况 ①当前点-->儿子-->子树(-->儿子),那么最坏情况就是(子树的最坏情况+边权…
题目描述 题解 一种好想/好写/跑得比**记者还快的做法: 对所有询问排序,按照R递增的顺序来处理 维护每个点最后一次被覆盖的时间,显然当前右端点为R时的答案为所有时间≥L的点的权值之和 LCT随便覆盖一发,保证一段重链上的点的颜色相同(这样可以直接修改),用树状数组维护权值和 由于要保证颜色相同,所以不能随便moveroot 覆盖时先把x和y的lca和原树上的父亲断掉,把x-->lca这一段覆盖,然后再覆盖y-->lca向y方向的儿子 反正随便写应该就能过( 另一种做法 也就是题解的难想/难…
题目描述 题解 qy的毒瘤题 CSP搞这种码农题当场手撕出题人 先按照边权从大到小建重构树,然后40%暴力修改+查找即可 100%可以定期重构+平衡规划,每次把B个询问拉出来建虚树,在虚树上暴力维护每一段的凸壳,在凸壳上二分 虚树建法: 按照dfs序排序,每次用栈维护从根到当前点的栈 每次把当前点和栈顶做lca,若lca=栈顶就直接加,否则一直弹到栈顶是lca的祖先,顺便记录下每个点在虚树上的父亲 如果栈顶=之前的lca就不用管,否则加上lca,修改最后弹出的点的父亲 (注意要把根加进去) 设每…
Description: 题解: 显然满足二分性. 并且每一条边要不选l要不选r. 二分的那条链肯定要选l. 考虑有两个人在走最短路,一个人一开始必须走二分的那条链,要求第一个人走的比第二个人快. 安排的话也比较简单,第一人先走到这条边就给l,第二个人就给r. 还有一种想法,先只给二分的链l,其它都给r,跑一遍最短路,设为dis1. 然后再从二分的链的结尾开始,每条边都设为l,跑最短路,dis2. 然后一个点x的dis2[x]+二分的链长<=dis1[x],那么就可以走这个点,否则不能走,最后看…
题目 题目大意 维护一个无向图的割边条数,支持加边和删边. 正解 (PS:这是我很久之前在OJ上打出来的题解,现在直接copy过来) 题解只有一句话,估计没多少人可以看得懂.感觉出题人偷懒不想写题解-- 刚了一个晚上终于理解了题解的做法-- 由于本人还没有AC(时间比较匆忙),所以只是在这里梳理一下思路,顺便造福一下人类. 首先都知道线段树分治是个什么意思吧? 线段树分治是一种有效地利用撤销操作替代删除操作的套路.在这题中,所有的加边删边操作变成了加边和撤销操作.可以把操作看成一个栈,加边的时候…
传送门. 题解: 我果然是不擅长分类讨论,心态被搞崩了. 注意到\(m<=n-2\),意味着除了1以外的位置不可能被加到a[1]两遍. 先考虑个大概: 考虑若存在\(x,x-1,-,2\)(有序)这样的,且1要么不出现,要么出现在2的左边,那么\(a[1]=\sum_{i=1}^x a[i]\). 同样,若存在\(y,y+1,-,n\),且1要么不出现,要么出现在n的左边,那么\(a[1]=a[1]+\sum_{i=y}^n a[i]\). 开始讨论: 1.1没有出现,直接枚举x,求出最大的y的…
题目 题目大意 给你一堆区间,将这些区间分成特定的几个集合,使得每个集合中的所有区间的并不为空. 求最大的每组区间的交的长度之和. 思考历程 一开始就认为这绝对是\(DP\)-- 试着找一些性质,结果找不出来-- 没办法,只能打个简单的状压\(DP\)-- 正解 首先有个很不显然的结论: 对于两个不重合的区间\(a\)和\(b\),如果它们互相包含(即\(l_a\leq l_b<r_b\leq r_a\)),那么一定满足: \(a\)和\(b\)同在一个组内. \(b\)在某个组内,而\(a\)…
题目 题目大意自己看题去-- 正解 比赛时在刚第二题,所以根本没有时间思考-- 模型可以转化为从\((x_1,x_2,..,x_n)\)出发到\((1,1)\)的方案数模\(2\). 方案数就用有重复的排列公式:\(\frac{(\sum{x_i})!}{\prod x_i!}\) 考虑它的奇偶性.显然可以将上面的\(2\)因子个数求出来,减去下面的个数,如果为\(0\)则是奇数. 这个东西也就是下面这条式子:\(\sum_{w=2^i} (\lfloor \frac{\sum_{x_i}}{w…
NOIP2017提高组模拟赛 10 (总结) 第一题 机密信息 FJ有个很奇怪的习惯,他把他所有的机密信息都存放在一个叫机密盘的磁盘分区里,然而这个机密盘中却没有一个文件,那他是怎么存放信息呢?聪明的你一定想到了,FJ的信息都是以文件夹名称的形式保存的.FJ给机密盘中的每一个文件夹都编了号,而FJ的机密信息是由S文件夹转到T文件夹的过程中必须经过的文件夹名称组合而成的,由于FJ的磁盘很慢,打开每个文件夹所耗费的时间等于该文件夹内下一级文件夹的数量.这次的任务是,给出每个文件夹的编号.名称以及它的…
大数据的搜索平台已经成为了众多企业的标配,Elasticsearch.Splunk(商业上市公司).Solr(Apache开源项目)是其中最为优秀和流行的选择.在2019.10 最新搜索引擎排名中,Elasticsearch仍然遥遥领先.  …
查看更多A股最便宜的股票:androidinvest.com/CNValueTop/ 便宜指数 = PE + PB + 股息 + ROE,四因子等权,数值越大代表越低估. 本策略只是根据最新的数据来选股,完全无人工参与的过程,所以并不能对接下来的利润或业绩做预测,因此请结合个股基本面一起来看. 如有任何疑问,请留言咨询.如果喜欢本推荐,也请多帮忙转发和分享,十分感谢. 新钢股份(SH600782) - 便宜指数:14.37 - 扣非市盈率PE:2.66 - 市净率PB:0.77 - 股息收益率:…
结对信息.具体分工 Github地址:https://github.com/MokouTyan/131700101-031702425 学号 昵称 主要负责内容 博客地址 131700101 莫多 代码编辑.文字内容 https://www.cnblogs.com/mokou/p/11695109.html 031702425 永铭 UI设计.归纳总结 https://www.cnblogs.com/yumesinyo/p/11701527.html PSP表格 Personal Softwar…
[NOIP2018模拟赛10.16]手残报告 闲扯 炉石乱斗模式美滋滋啊,又颓到好晚... 上来T2先敲了树剖,看T1发现是个思博DP,然后没过大样例,写个暴力发现还是没过大样例!?才发现理解错题意了,真是太菜了 然后看T3发现又要树剖,想了想发现边双缩点似乎能做...结果码来码去比赛临近结束才搞完,赶紧交代码. 但是那台机子上的Chrome似乎是个假的,打开什么网页都巨慢,最后T1手残交了份一开始的错误代码上去,T2T3生死未卜 结果40+0+0 T1错代码居然还有40?!数据这么水...再交…