
题解
ぺdepths°
日拱一卒,功不唐捐!
展开
-
「计蒜之道」 2020-线上决赛 C-攀登山峰 //主席树上二分
题目链接https://nanti.jisuanke.com/t/49111题意nnn 个数,mmm 个操作,每个操作给3个数:l r tl \ r \ tl r t,让你输出这个区间满足个数超过r−l+1t\frac{r-l+1}{t}tr−l+1的最大的数。思路查询区间满足一定条件数,首先想到主席树,根据原序列建立主席树(可持久化权值线段树),查询的时候,优先去右边找,右边找不到再去左边找,这样能保证找到的数最大.代码#include <bi原创 2020-10-24 20:05:54 · 282 阅读 · 0 评论 -
「百度之星」2020 - 初赛三题解
目录1001.Discount1002. Game1003. Permutation1004. Intersection1005. Chess1006. Ant1007. Fight1008. Graph题目网址链接:2020 年百度之星·程序设计大赛 - 初赛三1001.Discount题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6783思路: 根据题目定义,找出最大的那个优惠比例即可代码#include <iostream>#原创 2020-07-27 22:32:20 · 458 阅读 · 0 评论 -
Hdu-6567 Cotree //树形dp
题目链接2019CCPC-江西省赛 A题题意 给你两棵树(加一起 nnn 个顶点、n−2n-2n−2 条边),现在需要给两棵树中间加一条边,使得 ∑i=1n∑j=i+1ndis(i,j)\sum_{i=1}^{n}\sum_{j=i+1}^{n}dis(i,j)∑i=1n∑j=i+1ndis(i,j) 值最小,即合并的树任意两点的距离和最小。解析 找规律不难发现,将两个树的重心相连会使总和最小,所以分别求下两棵树的重心,然后连一条边,树上任意两点距离和也有求法:求树上任意两点距离和可以转换原创 2020-06-28 21:03:54 · 231 阅读 · 0 评论 -
Poj-2441 Arrange the Bulls //状压dp
题目链接http://poj.org/problem?id=2441题意有 nnn 头牛,mmm 个谷仓,每头牛可以去指定的几个谷仓打篮球,在一个谷仓只能容纳一头牛的前提下,问有多少种方案使得这 nnn 头牛都有地方打篮球解析首先肯定想到暴力搜索的做法,就是先给一头牛分配一个谷仓,然后在与前 i−1i-1i−1 头牛谷仓不冲突的情况下,给第 iii 头牛分配谷仓,直到分配到最后一头牛,合...原创 2020-04-10 13:34:33 · 183 阅读 · 0 评论 -
Hdu-4549 M斐波那契数列 //矩阵快速幂+费马小定理
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4549题意已知一个数列满足:F0=a,F1=bF_0=a,F_1=bF0=a,F1=b Fn=Fn−1∗Fn−2(n>1)F_n=F_{n-1}*F_{n-2}(n>1)Fn=Fn−1∗Fn−2(n>1) 求 Fn%(109+7)F_n\%(10^9+7)Fn%(109...原创 2020-04-06 15:33:54 · 147 阅读 · 0 评论 -
Poj-1990 MooFest //树状数组
题目链接http://poj.org/problem?id=1990题意一共 nnn 头牛,每头牛有两个属性 pos,vpos,vpos,v,pospospos 指牛的位置,vvv 指牛的听力值。如果两头牛(编号为 i,ji,ji,j )需要交谈,需要的音量值为 dis(posi,posj)∗max(vi,vj)dis(pos_i,pos_j)*max(v_i,v_j)dis(posi,p...原创 2020-02-29 13:48:26 · 174 阅读 · 0 评论 -
Dead Fraction //数学
题目链接http://poj.org/problem?id=1930题意给定一个小数,要求求出其所对应的最简分数。思路有很多方法,不过可以用程序写的比较有限,下面这种是在百度上学到的,代万能公式的一种方法。首先设一小数:0.abcdefef...0.abcdefef...0.abcdefef...,设其对应最简分数为:ab\frac{a}{b}ba0.abcdefef...=ab0...原创 2020-01-28 22:08:12 · 495 阅读 · 0 评论 -
GCD & LCM Inverse //数论
题目链接http://poj.org/problem?id=2429题意给两个数,分别是要求的两个数a,ba,ba,b的gcdgcdgcd和lcmlcmlcm,要求出一组满足的aaa和bbb,且a+ba+ba+b的值最小思路有一条性质是:a∗b=gcd(a,b)∗lcm(a,b)a*b=gcd(a,b)*lcm(a,b)a∗b=gcd(a,b)∗lcm(a,b),做下变换:agcd...原创 2020-01-28 21:49:24 · 522 阅读 · 0 评论 -
「学习笔记」单调队列
单调栈一.原理二.习题练习1.Sliding Window2.Non-negative Partial Sums3.One hundred layer4.Balanced Playlist5.OpenStreetMap一.原理单调队列,顾名思义,就是从队头到队尾有序的队列,它和单调栈一样也只是一种思想,这种思想借助队列先进先出的特性,在一些特定场合应用起来能够有效的降低时间复杂度,比如优化dp...原创 2020-01-22 00:10:19 · 244 阅读 · 0 评论 -
「学习笔记」单调栈
单调栈一.原理二.习题练习1.Largest Rectangle in a Histogram2.Bad Hair Day3.Largest Submatrix of All 1’s4.Feel Good5.Largest Common Submatrix6.I Max answer一.原理单调栈,顾名思义,就是从栈底到栈顶有序的栈,很多人认为其只是一种思想,这种思想借助栈后进先出的特性,在一...原创 2020-01-15 21:26:37 · 443 阅读 · 0 评论 -
HDU-4991 Ordered Subsequence //dp+BIT
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=4991题意给一个序列,让求出该序列有多少个长度为m的严格递增子序列,结果对123456789取模。解析设元素组为a[i]a[i]a[i],定义dp[i][j]dp[i][j]dp[i][j]为以a[i]a[i]a[i]结尾长度为m的严格递增子序列的个数。则:dp[i][j]=∑k=1i−...原创 2020-01-12 22:33:21 · 154 阅读 · 0 评论 -
Cheapest Palindrome //区间dp
题目链接:http://poj.org/problem?id=3280题意:给一个字符串,再给一些字符的删除或添加的代价,让求将字符串变成回文串的最小代价。思路:对于一个区间如果添加一个字符可以使其回文,那么添加它或者删除与其对称位置的相同字符都可以达到目的,所以可以把每个字符的两个代价合并一下,取最小的那个,然后考虑dp。定义dp[i][j]dp[i][j]dp[i][j]表示使...原创 2019-11-30 22:35:27 · 113 阅读 · 0 评论 -
Andrew and Taxi //二分+拓扑排序
题目链接:http://codeforces.com/problemset/problem/1100/E题意:一个有向图,将边权小于等于xxx的边反转后图中不会有环,最小化xxx,并输出反转的边的序号。思路:如果二分xxx,每次二分,用大于x的边建个图跑拓扑序,看是否最后有环,有环就扩大xxx,没有就缩小xxx寻找最优解,最后别忘再用最优解跑一次拓扑序,因为还要输出反转的边,那么在最优解...原创 2019-11-27 21:46:41 · 239 阅读 · 0 评论 -
符文能量 //dp
题目链接:https://cometoj.com/contest/58/problem/C?problem_id=2760题意:有n个符文石,每个符文石都有两个属性,相邻两个符文石可以合并,并释放一定能量,现在可以选其中一段符文石使他们的属性整体扩大k倍,问将n块符文石合并所需释放的最小能量。解析:由于相邻两块符文石才可以合并,所以无论合并顺序如何,所释放的能量都为∑i=2nai∗b...原创 2019-11-24 23:01:49 · 190 阅读 · 0 评论 -
Antenna Coverage //dp
题目链接:http://codeforces.com/contest/1253/problem/E题意:坐标轴[1,m]上有很多信号基站,每个基站都有一个以其坐标为中心的覆盖范围,覆盖范围关于中心对称,现在让增加一些基站的信号覆盖范围,使[1,m]范围全部覆盖,求最小代价。思路:第一眼看像贪心,发现假了,如果对基站坐标从小到大排个序,从前往后贪的话会有问题,比如第三个样例就过不去。那...原创 2019-11-23 12:58:28 · 194 阅读 · 0 评论 -
The Shortest Statement //最短路+lca
题目链接:https://codeforces.com/problemset/problem/1051/F题意:一个图由若干顶点和若干边组成,且说边的个数减去顶点的个数不会多于二十,有很多组点对,问这些点对的最短距离为多少。解析:询问次数较多,不能每次都跑dij,由于题目给出边的个数减去顶点的个数不会多于二十,说明如果以原图去掉一些边建dfs树,最多要删21条边,所以可以把这些多余的边单...原创 2019-11-21 23:25:21 · 191 阅读 · 0 评论 -
MST Unification //最小生成树
题目链接:http://codeforces.com/problemset/problem/1108/F题意:给你一个图,有很多边,不会有自环和重边,可能现在这个图的mst不唯一,让你改变一些边的权值使得mst唯一,求最小操作次数。思路:通过分析可以看出,只有边权相等的一些边,才会使mst不唯一,所以只去找这些边权相等且所连顶点又在mst中的边就行了。#include <bit...原创 2019-11-20 18:30:38 · 241 阅读 · 0 评论 -
「佛御石之钵 -不碎的意志-」 //并查集
题目链接:https://cometoj.com/contest/72/problem/%EF%BC%A32?problem_id=4032题意:给定一个图,针对每组询问,修改一些点的值为1,求四连通块的个数1.简单版解析:范围较小,直接暴力找即可。参考代码:#include <bits/stdc++.h>using namespace std;typedef long ...原创 2019-11-18 22:07:42 · 223 阅读 · 0 评论 -
Codeforces 596 Div. 2 Power Products //STL
传送站:https://codeforc.es/contest/1247/problem/D题意:给一组数,问有多少对数满足相乘后为一个数的k次幂,输出满足条件的数的对数,相乘的次序不可改变。思路:我们知道任意一个数都可以质因子分解为几个几个质数幂次相乘的形式,也就是:x=p1a1∗p2a2∗p3a3∗...∗pnanx=p_1^{a_1}*p_2^{a_2}*p_3^{a_3}*...*p...原创 2019-10-30 18:18:44 · 176 阅读 · 0 评论 -
牛客:复读机(并查集)
题目描述:链接:https://ac.nowcoder.com/acm/contest/699/B来源:牛客网在某华大学里有一个无聊的群组,群内的所有成员都是复读机,他们疯狂复读着别人的消息。然而复读机们在群内也是有阵营的,一个阵营的复读机会根据心情选择是否复读同一个阵营的成员的消息,但绝对不会去复读其他阵营的消息。 群内有n个人(标号1-n号)。现在群内聊天记录中一共...原创 2019-04-25 15:40:37 · 267 阅读 · 0 评论 -
Almost All Divisors(积性函数之因子个数)
We guessed some integer number x. You are given a list of almost all its divisors. Almost all means that there are all divisors except 1 and x in the list.Your task is to find the minimum possible in...原创 2019-05-15 18:42:07 · 359 阅读 · 0 评论 -
迷宫最短路(bfs+路径记录)
定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一个5 × 5的二维数组,表示一个迷...原创 2019-05-11 16:51:25 · 1345 阅读 · 0 评论 -
Connected Components(连通分量)
题目链接:https://cn.vjudge.net/problem/Aizu-ALDS1_11_D题目大意:通过输入的朋友关系,从指定人物出发通过双向朋友链是否能抵达目标任务;归结为求图中各连通分量。用邻接表来存图。通过dfs或bfs遍历图,给各连通图的点分配不同的颜色以便于区分。下面以dfs为例。代码如下:#include <iostream>#include <c...原创 2019-07-18 18:51:30 · 10913 阅读 · 0 评论 -
Hdu 1285 :确定比赛名次(拓扑排序)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1285Problem Description有N个比赛队(1<=N<=500),编号依次为1,2,3,。。。。,N进行比赛,比赛结束后,裁判委员会要将所有参赛队伍从前往后依次排名,但现在裁判委员会不能直接获得每个队的比赛成绩,只知道每场比赛的结果,即P1赢P2,用P1,P2表示,排名时P...原创 2019-07-19 22:41:32 · 222 阅读 · 0 评论 -
Shortest Cycle(思维+floyd找最小环)
题目链接:https://codeforc.es/contest/1206/problem/D题意:给你n个数,任意两个&在一起不为0的数可以连一条边,求这n个数中形成的最小环。解析:如果两个数,他们二进制中有一位都是1,他们&的结果就不会是0,有三个这样的数就会形成最小环。所以可以枚举每个数的所有位,看是否存在三个这样的数,若存在,直接输出3.若不存在,再看下一步。假设最坏...原创 2019-08-22 11:20:37 · 316 阅读 · 0 评论 -
小doge的快乐阳光跑 //最短路+dp
题目链接题意: 给一张图,让你求权值和路径最小的移动序列,使得移动序列包含两个给定的子序列。思路: 由于要求权值和最小,所以我们可以先把图上每两点的最短距离预处理出来。然后考虑移动序列,由于要保证包含两个子序列,考虑dp,设dp[i][j][0]表示刚好到了第一个人的第i个跑位点并已经过了第二个人的第j个跑位点的最短路径,dp[i][j][1]表示刚好到了第二个人的第j个跑位点并已经过了第一个...原创 2019-09-28 10:52:47 · 189 阅读 · 0 评论 -
道路铺设(最小生成树)
链接:https://ac.nowcoder.com/acm/problem/15108来源:牛客网题目描述随着如今社会的不断变化,交通问题也变得越来越重要,所以市长决定建设一些公路来方便各个城市之间的贸易和交易。虽然市长的想法很好,但是他也遇到了一般人也经常头疼的问题,那就是手头的经费有限……在规划过程中,设计师们已经预算出部分城市之间建设公路的经费需求。现在市长想知道,它能不能将他的m个...原创 2019-05-05 20:54:20 · 699 阅读 · 0 评论