排序:
默认
按更新时间
按访问量

Codeforces 1076E——回溯

题意:给出一棵以1为根的有根树,边权全部为1,点权初始全部为0,给出m个查询,每个查询给出三个变量v d x,表示将v节点的子节点(包括自己)中与v之间的距离<=d的节点的点权增加x,问最后每个节点的点权是多少 1<=n<=3e5...

2018-11-15 14:00:26

阅读数:4

评论数:0

斯坦纳树——hdu 4085

最近打全国高校绿色计算机大赛遇到了一个斯坦纳树(决赛第二阶段第三题),当时网上找了模板水过去了,赛后学习一下 【一】什么是斯坦纳树 斯坦纳树问题是组合优化学科中的一个问题。将指定点集合中的所有点连通,且边权总和最小的生成树称为最小斯坦纳树(Minimal Steiner Tree),其实最小生...

2018-11-12 20:32:57

阅读数:12

评论数:0

ZOJ 4061 Magic Multiplication——暴搜

题意:规则举例:1234*5678=5678101214161516212420242832,现在给出最终串,以及两个原串的长度,问两个原串是多少,设原串为A B,多解先令A尽量小,然后再令B尽量小 所有传的长度都在2e5以内,除非串只有一个0,否则没有前导0 思路:现场赛的时候拿到这个题一开...

2018-11-09 22:09:14

阅读数:9

评论数:0

Codeforces 1073A——防自闭

#include <bits/stdc++.h> using namespace std; const int maxn = 1010; int n; char s[maxn]; int cnt[26]; int main() { scanf(...

2018-11-02 20:43:16

阅读数:18

评论数:0

Codeforces 1073B——防自闭

#include <bits/stdc++.h> using namespace std; const int maxn = 2e5 + 10; int n, a[maxn], b[maxn], pos[maxn], vis[maxn]; int ma...

2018-11-02 20:28:30

阅读数:33

评论数:0

Codeforces 1073C——思维

题意: 一个机器人在(0,0),给出n个指令,指令的种类为L R D U,分别代表左移一步 右移一步 下移一步 上移一步,现在给出一个终点( x,y),要通过改变序列中的一些指令使得机器人最终停在(x,y),并使得花费最小,输出最小花费(原本就能达到输出0,无解输出-1),只允许把一个指令更改...

2018-11-02 20:15:48

阅读数:33

评论数:0

Codeforces 1073D——暴力

题意 n个售货车排成一个圈,编号1~n,每个售货车卖一种冰激凌,价格为a[i],数量无限,现在你有T块钱,从1号点出发,无限转圈,每到一个售货车,如果你能买一个冰激凌,那么一定买一个,否则不买,直到钱少到无法买冰激凌为止,问你能买多少个冰激凌 1<=n&l...

2018-11-02 08:53:02

阅读数:78

评论数:0

Codeforces 1073E——状压+数位dp

题意 输入l r k,输出区间[l,r]内数位种数不超过k的数字之和,比如l=10,r=50,k=1,答案就是11+22+33+44=110 1<=l<=1e18,1<=e<=1e18,1&...

2018-11-01 22:06:56

阅读数:48

评论数:0

CodeForces - 572C——思维

题意:给定三个木棍,长度为a b c,现在可以给任意木棍增加任意长度(整数),但是增加的长度总数不能超过l(3e5),问有多少种增加方式使得增加完长度后的三个木棍可以构成一个三角形 思路:刚开始想到枚举一个最长的木棍,然后枚举该木棍增加的长度,然后计算另外两个木棍的合法情况数,但是不是很好计算,...

2018-10-31 14:27:05

阅读数:23

评论数:0

HDU 6237 A Simple Stone Game——思维

题意:有n(1e5)堆石子,第i堆石子有a[i](1e5)个,现在可以进行任意次操作,每次操作可以把一个石头从一堆挪到另一堆,问最少操作几次可以达成这个条件:存在一个x,使得每堆的石子数量都是x的倍数 思路:首先对石子总数进行质因分解,x一定是这些素因子中的一个,这个是我凭感觉蒙的,事实证明确实...

2018-10-29 16:56:10

阅读数:16

评论数:0

HDU - 6274 Master of Sequence——二分

按a的值分组,处理一下余数,二分一下就可以了 但是我二分上界设置的1e18,在计算过程中爆炸了,正确的上界应该是1e14 真的调了很久才意识到这个问题。。。 明天就打区域赛了。。。 #include <bits/stdc++.h> using ...

2018-10-25 15:09:00

阅读数:28

评论数:0

poj2954 Triangle——pick定理

题意:给定一个三角形,三角形的三个点都是整数点,问有多少个整数点严格在三角形内部 思路:典型的pick定理题目,公式为s=a+b/2-1,s为整数顶点的多边形面积,a为它内部的整数点, b为它边上的整数点(包括顶点),那么题目要求的其实是b=(2*s+2-a)/2 s可以通过向量的叉积运算得到...

2018-10-24 16:49:19

阅读数:14

评论数:0

HDU 6266 Hakase and Nano——思维

首先明确这是一个不公平的游戏,作弊的那个人一定更有利,由此猜测所有作弊的人必胜,除非条件实在太差, 我们要找的就是这些作弊也挽回不了的局面,思考后可发现作弊的一方拿只有一个石子的石头堆没有办法,因此从这上面出发,得到下面的结论: 1.先手时必胜,除非石子总数是三的倍数且每一堆都只有一个石子 2...

2018-10-22 20:43:44

阅读数:19

评论数:0

HDU 5558 Alice's Classified Message——后缀数组+set+二分+rmq

15合肥签到题,不会后缀自动机只能用后缀数组来凑了 我们要完成的工作是对s的每一个后缀suf[i],找以j(0<=j<i)为起点的一个子串,使得这个子串与suf[i]的公共前缀尽量长 其实后缀数组的做法挺明显的,就是对于一个后缀suf[i],首先将它...

2018-10-22 00:18:38

阅读数:14

评论数:0

ZOJ - 3981 Balloon Robot——思维

先选1作为起始点跑一遍不高兴值,按不高兴值从小到大排序,然后顺序扫描,当要把第i个位置变为0时,实际上就是将i前面的元素+m,然后整体-unhappy[i] #include <bits/stdc++.h> using namespace std; ...

2018-10-18 23:15:43

阅读数:12

评论数:0

HDU 5977 Garden of Eden——点分治

上来按照dp的思想没什么头绪,因为5e4*(1<<10)有点大,所以往暴力上想了,树上暴力的话一般是往点分治上想,稍加思考发现这题只要枚举子集就可以在n(log(n))^2内解决,注意root是全局变量会改变,要存一下,因为这个直接自闭 #inclu...

2018-10-18 15:58:29

阅读数:14

评论数:0

HDU 5976 Detachment——贪心

很容易想到最优策略是2*3*4一直乘到前缀和小于n的最靠后的位置,设这个位置为p 当segma(2,p)==n时明显答案就是mul(2,p) 但是当segma(2,p) != n时会有一个余项,设为need,need=n-segma(2,p),显然现在项数不会再增加了,我们只能把need按照一...

2018-10-17 22:34:43

阅读数:17

评论数:0

HDU - 4010 Query on The Trees——Link Cut Tree

LCT模板题,link和cut是基本操作 更新一条链(u,v)就是做 mroot(u); access(v); splay(v)操作;然后给v打上标记,splay时上下推即可 求一条链(u,v)的最小值,同样做 mroot(u); access(v); splay(v);然后求v的最小值即可 ...

2018-10-16 22:35:39

阅读数:15

评论数:0

HDU - 5514 Frogs——容斥

假设a和b都是m的因子,设t=lcm(a,b),若t<m,则t也是m的因子 根据这个结论我们可以在m的因子中进行容斥,因子用fac数组保存,设vis[i]为fac[i]需要贡献的数量,num[i]表示fac[i]实际贡献的数量,那么fac[i]应该对答案贡献(等差数列之和)...

2018-10-13 17:17:33

阅读数:23

评论数:0

UVALive 3403 Mobile Computing——爆搜

有点像状压dp的爆搜 #include <bits/stdc++.h> using namespace std; typedef pair<double, double> P; const int maxn...

2018-10-13 10:51:13

阅读数:8

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭