songhn's blog
hdu4388 Stone Game II hdu4388 Stone Game II
1.题意简述:一开始有$n$堆石子和两个人 两个人轮流操作 每次可以一堆有$k$个石子的堆拆分成i和i^k两堆(i<k,i^k<k)每个人在一局中还有一次必杀技可以让i^k变成(2*i)^k假如最后不能操作那么那个人就输 问先手
2019-11-01
P1156 垃圾陷阱 P1156 垃圾陷阱
1.题解首先该题是一个线性dp问题 由于贪心的考虑我们每次到当前时间有可以取的垃圾都会直接捡起而不会再过一会儿 所以我们可以把每一个出现时间作为策略点 这样从头开始dp 所以我们首先需要对a数组进行排序 排序以后就可以从第一个垃圾到最后一
2019-10-18
POJ3666 Making the Grade POJ3666 Making the Grade
题意简述:已知一个序列$A$ 找到一个单调不增或者单调不减的序列$B$ 使得$\sum_{i=1}^{n}|A_i-B_i|$最小 题解:这题首先有一个引理 每一个$B_i$都在$A$中出现过 考虑一下简单的证明 设$A’$为$A$
2019-10-05
CF1228C Primes and Multiplication CF1228C Primes and Multiplication
这场CF我网炸了 然后赛后补题 这道题应该算是魔改一下阶乘质因数分解 题意翻译直接搬洛谷的了懒得打 1.题意简述: 2.题解:首先我们可以把$x$质因数分解 然后考虑$x$的因子$p$ 对于每一个$p$ 我们都要求出$g(1,p)\cd
2019-10-01
Comet OJ Contest 8C 符文能量 Comet OJ Contest 8C 符文能量
题目大意:给定一个长度为$n$的二元组序列$(a_i,b_i)$ 对相邻的$i-1$和$i$合并两个二元组的代价为$b_{i-1}\cdot a_i$ 你还可以选择一个区间 使得这个区间的所有二元组变为$(k\cdot a_i,k\cdot
2019-08-27
BZOJ1045 糖果传递 BZOJ1045 糖果传递
题意简述:有n个小朋友坐成一圈,每人有$a[i]$个糖果每人只能给左右两人传递糖果,每人每次传递一个糖果代价为1,求使所有人获得均等糖果的最小代价 输入格式:第一行输入一个正整数$n$,表示小朋友的个数 接下来$n$行,每行一个整数$a[
2019-08-25
BZOJ3043 IncDec Sequence BZOJ3043 IncDec Sequence
题意简述:给定一个长度为$n$的数列$a1,a2,\cdots ,an$,每次可以选择一个区间$[l,r]$,使下标在这个区间内的数都加一或者都减一,求至少需要多少次操作才能使数列中的所有数都一样 输入格式:第一行输入正整数$n$,接下来
2019-08-25
BZOJ1257 余数之和 BZOJ1257 余数之和
题目大意:给出正整数$n$和$k$ 计算$j(n, k)=k \mod 1 + k \mod 2 + k \mod 3 + … + k \mod n$的值 题解:首先$k\mod n=k-\lfloor{\frac{k}{n}}\rflo
2019-08-25
CF1207C Gas Pipeline CF1207C Gas Pipeline
题目大意:给定一个二进制01串 为1代表这个地方需要是高度为2的柱子 为0代表可以为高度为1或者2的柱子。起点和终点柱子高度都为必须1 同时横向走的时候需要管道 柱子的单位花费是b 管道的单位花费是a 从1到2还需要额外的a花费 问怎么安排
2019-08-24
hdu6681 Rikka with Cake hdu6681 Rikka with Cake
题目大意:给出$k$条射线 求能使$n*m$的矩形分成多少个块 题解:由于是射线 所以所以每个一个交点都能产生贡献 最后的答案就是总交点数+1 那如何去维护呢 我们可以把$k$条射线按横纵来考虑 对于竖的射线 假如为$U$ 那么$[y,m]
2019-08-24
数论基础学习笔记1 数论基础学习笔记1
1. 质数1.1 试除法判定$n$是否为质数int is_prime(int n) { if(n<2) return false; for(int i=2;i<=n/i;i++) if(n%i==0) r
CF1196 CF1196
A. Three Piles of Candies题解:答案为$\lfloor \frac{a+b+c}{2} \rfloor$ #include<cstdio> #include<algorithm> #include<
2019-07-29
3 / 9