- 博客(15)
- 收藏
- 关注
原创 倍增与动态规划
多重背包问题POJ1742 coinsHDU5445 food problem进制拆分POI2007 odw_weight 砝码倍增优化DPCH5702-Count The RepetitionsNOIP2012开车旅行
2020-08-20 20:20:30 251
原创 CF 1393
CF Round #622A题意:n*n的网格,外框被激活。A/B两人轮流激活格子,激活一个格子的条件:四联通的位置有格子激活,四联通的位置没有同色的格子。思路:输出n/2+1即可#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>#define LL long lo
2020-08-16 14:46:27 158
原创 CF 1398
Educational Codeforces Round 93A签到题题意:给一个不下降序列,求是否存在三个数,不能组成三角形。思路:考虑a[1],a[2],a[n]即可。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>#define LL long long
2020-08-15 17:31:24 150
原创 牛客多校训练营2020第10场
C题意:一棵树,边有边权,边权可修改。每次选一条路径,将该路径所有边边权-1,对当前树求将所有边清空的最小操作次数。思路:对每个点,维护以当前点为lca路径条数。考虑该点向下的边的最大值,如果最大值减去向上的边的差大于其他向下的边的和,那么就可以两两匹配,否则最大边会有剩余。E题意:积木,可以向左推某一行,如果下面空了就会向下掉,求最低高度。思路:二分答案,如果当前列高于答案,看左侧有没有剩余。#include<iostream>#include<cstdio>#in
2020-08-11 17:40:01 145
原创 牛客多校训练营2020第9场
A题意:输出2(2(2)+2+2(0))+2(2+2(0))+2(0)之类的等式的值,其中2(x)表示2x2^{x}2x,等式中只有0,2。思路:栈,或者evalclass Stack(object): def __init__(self): self.__list = [] def is_empty(self): return self.__list == [] def push(self, item): self.__l
2020-08-11 17:31:35 126
原创 牛客多校训练营2020第8场
F题意:一些原料生产一些产品,给出反应方程、初始原料的量,求反应的瓶颈。思路:看出是一个DAG图,对于每个反应,反应物向生成物连边,反应物的系数为边权,生成五系数为点权。f[i]表示从原料到i点的(边权/点权)的乘积。f[i] / i的点权/ i的初始量的最大值即为答案。from fractions import Fraction as Fif __name__ == '__main__': n,m = [int(x.strip()) for x in input().split()]
2020-08-11 17:15:35 131
原创 牛客多校训练营2020第7场
C题意:n*m件物品,分装到一些盒子里,每个盒子可以装任意多的物品。要求,在不拆盒子的前提下,既能将物品均分成m份,又能均分成n份。思路:辗转相除#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>#include<cmath>using namespace std;const int N = 2
2020-08-11 16:43:38 70
原创 牛客多校训练营2020第6场
E签到题题意:给定N, k,输出一个排列,满足:存在一段长度为i的子序列,其和模N余k(1≤i≤N1\leq i\leq N1≤i≤N)。思路:如果存在,n∗(n+1)2=k(modN)\frac{n*(n+1)}{2} = k (mod N)2n∗(n+1)=k(modN)。如果是奇数,输出N 1 N-1 2 N-2 ……如果是奇数,输出N N2\frac{N}{2}2N, 1 N-1 2 N-2 ……#include<iostream>#include<cstdio
2020-08-11 15:51:20 93
原创 牛客多校训练营2020第5场
传送门D题意:给一个排列,有两种操作:将整个数列旋转一定次数将数列的前N-1位旋转一定次数注意,进行一轮某种操作可以旋转若干次。求将数列变成升序,最少需要几轮2号操作?(1号操作不限)思路:以每一个位置为起点,求最长上升子序列的大小x,n-x的最小值即是答案。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<algorit
2020-08-11 15:14:20 127
原创 牛客暑期多校训练营2020第2场
A题意:n个串(s1,s2,……,sn),求∑i=1n\sum_{i=1}^n∑i=1n∑j=1n\sum_{j=1}^n∑j=1nf2(si,sj)。其中f(s,t)为s的前缀和t的后缀的最长匹配长度。思路: 记录所有后缀的hash值,对每一个前缀(长度为i)查询有多少后缀与之匹配。但要除去同一对串(s, t)的多次匹配的情况。假设s[1……i] = t[l-i+1……l] 且s[1……j] = t[l-j+1, l],(i < j),那么nxt[j] = i,因此只需在其kmp中的前驱
2020-08-07 09:37:29 125
原创 牛客暑期多校训练营2020第3场
E Two Matchings题意: 给一个数组a,求排列p、q,满足pi != qi。ppi=i,qqi=i。(n为偶数) 求12\frac{1}{2}21∑i=1n\sum_{i=1}^{n}∑i=1naI-api与12\frac{1}{2}21∑i=1n\sum_{i=1}^{n}∑i=1naI-aqi的和的最小值。思路: pi != qi即是p中均为二元环。 n=4时,最小值为max-min; n=6时,最小值为max-min; n ≥\ge≥ 8时,整块不会比切成4
2020-08-07 09:37:19 167
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人