摘要: POJ1015 Jury Compromise 我们可以将每个候选人的辩控差作为该物品的体积之一,把辩控和作为物品的价值。 因为评价差的总分值最大可能就只有[-400,400],所以我们整体加上20*m #include <cstdio> #include <cstring> #include <i 阅读全文
posted @ 2019-02-12 21:38 孑行 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 转载:大佬博客 IO(读入/输出)优化是很实用&简单的常数优化 (卡常技巧 。C++为了兼容性导致cin、cout慢过天际,对于大量数据的读入和输出往往不堪重负。这个时候使用读入优化、输出优化可以节省数倍的时间。 很多人说Pascal读入快。其实Pascal的读入只比普通cin快(这点确实是碾压), 阅读全文
posted @ 2019-02-12 20:51 孑行 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 转载:大佬博客 最近想到了许多优化spfa的方法,这里想写个日报与大家探讨下 前置知识:spfa(不带任何优化) 由于使用较多 STLSTL ,本文中所有代码的评测均开启 O_2O2​ 优化 对一些数组的定义: dis[i]dis[i] : 起点到 ii 的最短路径(目前) inq[i]inq[i] 阅读全文
posted @ 2019-02-12 20:40 孑行 阅读(801) 评论(0) 推荐(1) 编辑
摘要: 5104 I-country 在 N*M 的矩阵中,每个格子有一个权值,要求寻找一个包含 K 个格子的凸连通块(连通块中间没有空缺,并且轮廓是凸的,如书中图片所示),使这个连通块中的格子的权值和最大。求出这个最大的权值和,并给出连通块的具体方案。本题有SPJ,输出任意一种方案即可。N,M≤15,K≤ 阅读全文
posted @ 2019-02-12 18:33 孑行 阅读(195) 评论(0) 推荐(0) 编辑
摘要: CH5102 Mobile Service 描述 一个公司有三个移动服务员,最初分别在位置1,2,3处。如果某个位置(用一个整数表示)有一个请求,那么公司必须指派某名员工赶到那个地方去。某一时刻只有一个员工能移动,且不允许在同样的位置出现两个员工。从 p 到 q 移动一个员工,需要花费 c(p,q) 阅读全文
posted @ 2019-02-12 16:37 孑行 阅读(299) 评论(0) 推荐(0) 编辑
摘要: P1005 矩阵取数游戏 区间dp,每一行单独处理,因为数据范围比较大所以要用高精或者__int128。 对于每行来说,用f[i,j]表示取完当前行的第i~j个数的最大值,则f[i,j]=max(f[i+1,j]+a[i]*2^(m-(i-j+1)),f[i,j+1]+a[j]*2^(m-(i-j+ 阅读全文
posted @ 2019-02-12 16:14 孑行 阅读(126) 评论(0) 推荐(0) 编辑
摘要: (模板)线段树2 题目描述 如题,已知一个数列,你需要进行下面三种操作: 1.将某区间每一个数乘上x 2.将某区间每一个数加上x 3.求出某区间每一个数的和 第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初 阅读全文
posted @ 2019-02-12 14:41 孑行 阅读(129) 评论(0) 推荐(0) 编辑
摘要: POJ3666 Making the Grade 题意: 给定一个长度为n的序列A,构造一个长度为n的序列B,满足b非严格单调,并且最小化S=∑i=1N |Ai-Bi|,求出这个最小值S,1<=N<=2000,1<=Ai<=1e9. 引理:在满足S最小化的情况下,一定存在一种构造序列B的方案,使得B 阅读全文
posted @ 2019-02-12 11:02 孑行 阅读(129) 评论(0) 推荐(0) 编辑
摘要: CH5101 LCIS 题意: 求两个长度不超过3000的序列的最长公共上升子序列 思路: 朴素解法:用f[i,j]表示a1~ai与b1~bj可以构成的以bj为结尾的LCIS的长度,三重循环求解: for(res i=1 ; i<=n ; i++) for(res j=1 ; j<=m ; j++) 阅读全文
posted @ 2019-02-12 09:42 孑行 阅读(201) 评论(0) 推荐(0) 编辑
摘要: P1158 导弹拦截 思路: 按每个点到第一个系统的距离排序,然后预处理出每个点及其之后的点到第二个系统的距离的最大值,再循环一遍枚举答案。 代码: 1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 #include 阅读全文
posted @ 2019-02-12 09:06 孑行 阅读(300) 评论(0) 推荐(0) 编辑
摘要: P1020 导弹拦截 知识铺垫: upper_bound(f+1,f+n+1,key)-f返回在不降序列f中大于key的第一个元素的下标 lower_bound(f+1,f+n+1,key)-f返回在不降序列f中大于等于key的第一个元素的下标 如果要在非升序列(小于和小于等于)中使用这两个函数,就 阅读全文
posted @ 2019-02-12 06:35 孑行 阅读(220) 评论(0) 推荐(0) 编辑