![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
思维
lzk_1049668876
stay hungry stay foolish
展开
-
【codeforces 1110D Jongmah 】【思维】【dp】
【题意】给n个数字,数字的范围为m,连续的三个数字或者三个相同的数字可以组成一个tripe,每个数字只能属于一个tripe,问最多能组成多少个tripe ? https://codeforces.com/problemset/problem/1110/D【思路】因为出三个顺子和出三个刻子对答案的贡献是一样的,因此不妨假设以每种牌为开头的顺子都不超过2个,那么就可以做费用提前计算的...原创 2019-02-15 22:26:12 · 471 阅读 · 0 评论 -
【codefroces 219D. Choosing Capital for Treeland】【树形dp】【一般】【思维】
https://codeforces.com/problemset/problem/219/D【题意】n个点m条边,找点,使得到全图的点的逆转道路数最小【思路】树形dp建图时方向权值话(类似的在网络流中有所涉及),正向为0,逆向为1转化为哪些节点在遍历全图后的价值最小考虑每一个节点,子树可收获价值,从父亲也可以收获2次dfs第一次:子树更新父节点,得到dp[i]...原创 2019-02-08 14:40:45 · 175 阅读 · 0 评论 -
【Gym-101908F Music Festival 】【状压dp】【思维】【好题】【套路】【每个组都要选择一个】
https://codeforces.com/gym/101908/problem/F【题意】有n个组,每个组有m个区间,区间信息包括开始时间,结束时间,区间价值你需要选择区间,使得区间价值和最大,并且保证每个组都能被选择一次【思路】将所有区间按左端点存在一个vector里,并且保存id属于哪个组别的信息dp[i][j]表示在数轴的时间点i,当前选择组的状态,遍历所有以i为...原创 2019-02-17 20:12:08 · 223 阅读 · 0 评论 -
【codeforces 613B】【*2200】【二分】【思维】
http://codeforces.com/problemset/problem/613/B【题意】给你n个数,可以花费1使得数字加1,最大到A,最多花费m最后n个数的最小值为min,为A的有k个,给你cm和cf求force=min*cm+k*cf【思路】所求式中有两个未知量,可以固定一个变量,剩下的就满足单调性,继续二分另一个变量求最值遍历固定k,假设k个数字将要加满...原创 2019-02-19 08:56:57 · 248 阅读 · 0 评论 -
【hdu 2853】【最大权匹配】【思维】【优先选】【套路??】
http://acm.hdu.edu.cn/showproblem.php?pid=2853【题意】给出一个原匹配,问最少需要修改多少条边才能变成最大匹配【思路】重点在于数据范围,n<=m 可知此一定是完备匹配 为了让给定原匹配中的边优先选,我们对边权做以下操作 w[i][j]=e[i][j]*...原创 2019-01-24 19:32:26 · 198 阅读 · 0 评论 -
【codeforces 650A】【思维】【容斥】【数学】【求n个点中两种距离相等的点对数】
【链接】https://codeforces.com/problemset/problem/650/A【一句话题解】求n个点中两种距离相等的点对数。SX U SY =SX+SY +SX ∩ SY,x,y分别排序,map记录点对,容斥算重【代码】#include<bits/stdc++.h>using namespace std;using ll = long long...原创 2019-01-19 09:36:07 · 188 阅读 · 0 评论 -
【codeforces 667D】【最短路】【思维】【模拟】
https://codeforces.com/problemset/problem/667/D【题意】n个点,m条有向边,找4个有顺序的点,使得4个点三条有向最短路之和最大【思路】枚举第2,3,个点,预处理出每个点到其余点的距离,取3个最大的比较,避免重复【代码】#include<cstdio>#include<cstring>#include<...原创 2019-01-18 23:07:36 · 223 阅读 · 0 评论 -
【codeforces 1029E - Tree with Small Distances】【树形dp+思维+贪心】【用最少的连1的边使得树上每个点到1的距离不超过2】
【链接】:https://codeforces.com/problemset/problem/1029/E【题意】:用最少的连1的边使得树上每个点到1的距离不超过2【分析】:离1最远的点需要连边的需求越大,从叶子节点考虑,肯定是父亲连边比叶子节点连边更优。父亲连边,改变父亲的父亲的距离,重复操作。在树形dp递归的过程中完成。【代码】:#include<bits/...原创 2018-09-04 09:12:23 · 544 阅读 · 1 评论 -
【Gym - 101572 Distinctive Character 】【多源bfs+思维】【好题】
【题意】给你n个01串,问你找到一个串,使得这个串与其他串的最大相似度最小。【思路】对应为相同得分,求最大最小。可以转化为不同得分,求最小最大。从一个串开始,可以一步变为其他串的有k种。比如01001,得到一分有11001,00001,01101,01011,01000,这几种情况,那么我们多源bfs,维护每个点最小被访问的距离长度,那么由bfs性质可知,max(dis[i])的值...原创 2018-08-30 19:13:06 · 191 阅读 · 0 评论 -
hdu 5747 Aaronson【贪心】思维的体操
Recently, Peter saw the equation x0+2x1+4x2+...+2mxm=nx0+2x1+4x2+...+2mxm=n . He wants to find a solution (x0,x1,x2,...,xm)(x0,x1,x2,...,xm) in such a manner that ∑i=0mxi∑i=0mxi is minimum and every x...原创 2018-07-20 22:38:47 · 440 阅读 · 0 评论 -
【poj2586 Y2K Accounting Bug】(基本算法之贪心)
链接:http://poj.org/problem?id=2586题意:某个公司每5个月有盈亏报表,盈或亏都为定值s,t,并且满足5个月总和为负,求问,全年最大得总收入和思路:贪心。要使有足够的负能使连续五个月都负,贪心一点就是要多次被查询的月份要为负。那么我们假设初始化每个月都为负,如果不满足,5个月为负,就从后往前由正改负。从第一个5个月为首项,后每个5个月进行递推,即可得到最优解代码:#in...原创 2018-07-05 18:13:19 · 227 阅读 · 0 评论 -
poj3273.Monthly Expense(二分答案最大值最小化问题)
题意:对给给出的n个数,划分为m块,使每一块中所有数的和的最大值最小,是经典的最大值最小问题。一些思考:用到二分我也觉得一开始没想到,现在觉得确实用二分挺合理的1.即首先求出二分的上下限,这个是每次二分必做的准备工作,上限即为这一堆东西的总量,下限即单个最大的物品的值。2.有上下限之后即开始二分,最难写的部分就出来了,即判断当前分堆是否合理,在判断分堆是否合理中,主要的限制因素为两个,一个是单堆的...原创 2018-05-29 23:22:23 · 553 阅读 · 0 评论 -
求上下界 差值 最小 一类问题 hdu1598 && poj3189(妙啊)
最开始的时候做过hdu1598,题意就是问一些点对,求一个差值最小构成的公路集合能连通这个点对,开始的时候没有具体想法,感觉上下界存在不确定性,后来就枚举上下界,通过并查集依次往里面加边,确定出此时最小的上界. 今天做到了poj3189,也是一样的原理,给定一堆顺序,要求出顺序最小的边集,能够满足匹配,不小心看到了风神题解上写的二分字样,二分是最大流里面很常见的一个技巧,利用最大流来判定一...原创 2018-05-27 18:13:48 · 183 阅读 · 0 评论 -
Codeforces 922 C - Robot Vacuum Cleaner (贪心、数据结构、sort中的cmp,建模+分析思维)
几天跟着队长做的一套题,太菜了啊,要好好努力啊http://codeforces.com/problemset/problem/922/D题意:给一堆由s和h组成的字符串,让你拼接,使得子序列为“sh”的数量最多,并且输出这个最多的值开始以为这种题是用dp写的(以前模拟训练写到有类似于:多个字符串,每个字符串可以反转,反转一次要花一定得价值,反转后会有一定得价值,问最多能有多少得价值,这题目是典型...原创 2018-05-16 15:43:30 · 375 阅读 · 0 评论 -
【hdu 6299 Balanced Sequence】【贪心+排序】【好题】
【链接】http://acm.hdu.edu.cn/showproblem.php?pid=6299【题意】排列n个字串的顺序,使得所有字符串连接的括号匹配数最大n (1e5) s(1e5)【分析】观察数据范围,确定dp(nlogn)或者贪心,dp好像不行,试试贪心。。发现题目的一些特点:一个串如果内部是匹配的 ,那么肯定内部的匹配对于后面的贡献更大,所以相当...原创 2018-08-29 21:29:10 · 335 阅读 · 0 评论 -
【ACM-ICPC 2018 南京赛区网络预赛 The writing on the wall 】【数学思维+dp优化】【求不含黑点的子矩阵数】
【链接】https://nanti.jisuanke.com/t/30991【题意】求不包含黑点的子矩阵个数【思路】先简化一下问题,没有黑点,求子矩阵的个数:枚举高度,枚举底的左界和右界,求和。升级+黑点:在求子矩阵的基础上维护一个高度的最小值,同时用一个变量数组维护一下最小高度。【总结】要善于抽离出基本的数学思想【代码】#include<bits/...原创 2018-09-04 22:41:19 · 115 阅读 · 0 评论 -
【hihocoder - Matrix HihoCoder - 1580 】【2017北京icpc网络赛 】【思维】【最大子矩阵和变式】【dp】
【链接】https://vjudge.net/contest/255189#problem/C【题意】给你一个矩阵,问去掉子矩阵中任意一个元素的矩阵的最大和【分析】最大子矩阵和的变式,首先,给定一个矩阵求把一个元素改变成另一个元素的最大和,肯定是去掉最小的元素。然后dp一下就OK了。用矩阵的上下界来划分阶段。dp[i][0]表示上下界分别为l,r,指针停留到i,并且子矩...原创 2018-09-22 08:35:30 · 202 阅读 · 0 评论 -
【2018icpc北京网络赛】【数学】【贪心】【思维】【条件极值】
【链接】https://hihocoder.com/problemset/problem/1835【题意】已知 :sigma | ai |=r最小化:sigma ((bi-ai)^2)求每个ai【分析】将中心点移动到原点。相当于:要ai-1,显然是大的那个数-1比较小。然后想象一下,最后的ai一般来说都是,几个数都是最大的数,其余数不改变。那么我们二分这个减少后的最大的...原创 2018-09-24 10:16:24 · 243 阅读 · 1 评论 -
【2017中国大学生程序设计竞赛 - 女生专场 hdu 6026】【最短路】【思维】【删边构造最短路树方案数】
【链接】http://acm.hdu.edu.cn/showproblem.php?pid=6026【题意】给定一个无向图,删去几条边,得到n个节点的最短路树,求有几种可能性【思路】求删边的方法,也就是求树的构造 方法树的构造方法=每条边的选择方法累乘。弗洛伊德求出每点之间的最短路,计数0-i的每个数的最短路数,相乘即可。 【代码】#include <bit...原创 2018-09-12 20:42:35 · 218 阅读 · 0 评论 -
【2018多校第四场 hdu 6333】【莫队分块】【思路好题】【思维】【求C(n,0)+C(n,1)+……+C(n,m)的值】
【链接】http://acm.hdu.edu.cn/showproblem.php?pid=6333【题意】求C(n,0)+C(n,1)+……+C(n,m)的值。【思路】k由于t,n都比较大,需要查询的复杂度不能太高,需要离线处理,由组合数的将前k项求和可以推出如果已知一个S(n,m),可以轻松得出S(n-1,m),S(n+1,m),S(n,m-1),S(n,m+1)。容易想到...原创 2018-09-06 23:28:53 · 148 阅读 · 0 评论 -
【2018icpc焦作网络赛】【二进制拆分】【01背包dp】【思维】【记录方案数】
【链接】https://nanti.jisuanke.com/t/31720【题意】有n种船,每种船有v[i]容量,每种船有2^c[i]−1 个,每次询问s,求能把s刚好装下的船的分配方案有多少【思路】应该有一定的敏感度的。。。每种船的数量是2的幂次减1,那么每种船可以表示为最多c[i]个二进制数的和。【代码】#include<bits/stdc++.h>...原创 2018-09-15 20:13:20 · 165 阅读 · 0 评论 -
【codeforces 1037D】【验证bfs序】【思维】
【链接】http://codeforces.com/problemset/problem/1037/D【题意】给你一棵树以及一个bfs序,问是否存在这个bfs序【思路】从给定的bfs序入手考虑【代码】#include<bits./stdc++.h>#define ll long longusing namespace std;const int ma...原创 2018-09-11 22:59:51 · 1138 阅读 · 0 评论 -
【cf 1037A】【二进制长度】【思维】
【链接】http://codeforces.com/problemset/problem/1037/A【题意】分最少的堆,使得1-n的数都可由堆组合表示【思路】显然等比能够表示的长度更大,求二进制长度【代码】#include<bits./stdc++.h>using namespace std;int main() { int n; scanf("...原创 2018-09-11 21:37:40 · 279 阅读 · 0 评论 -
【codeforces Round #506 (Div. 3) C. Maximal Intersection】【STL_multiset】
【链接】:http://codeforces.com/contest/1029/problem/B【题意】:去掉一个区间,求所有区间覆盖的区间的最大值【思路】:答案区间肯定是一个左端点,一个右端点,维护两个multiset,暴力删除,插入(nlgn).【代码】:#include<bits/stdc++.h>using namespace std;con...原创 2018-09-03 09:52:11 · 114 阅读 · 0 评论 -
【codeforces 1028C Rectangles】【面积并】【枚举+思维】【前后缀】【重载操作符】【找一个点与至少(n-1)个矩形有交】
【链接】https://codeforces.com/problemset/problem/1028/C【题意】找一个点,使得至少与(n-1)个矩形有交【思路】每两个矩形求交会有一个面积并,但是要判断是否合法。暴力枚举每个矩形,计算不包含这个矩形的前后缀,求解。【代码】#include<bits/stdc++.h>using namespace std;...原创 2018-09-05 09:14:12 · 204 阅读 · 0 评论 -
CodeForces - 940E Cashback (DP+思维模型)
题意:给你长度为n的数列,一段序列的价值是,所有数的总和-最小的len/c的数的和,求如何分割数列,使得答案总和最小。分析:一开始看到向下取整不外乎两种情况:一是用计算机处理,那么表明用暴力,emmm好像不能暴力啊,前面的分割对后面的分割有影响应该是dp,啊,所以这种方法应该不行,二是其中蕴涵着贪心原理:然后仔细想了一下,如果一段长度为2*c的区间段,那么c+c肯定比2c来的优,那么我们现在考虑x...原创 2018-05-19 10:20:43 · 257 阅读 · 0 评论