关闭

NOI2017非洲记

NOI前模拟赛总体做的还好吧。。状态还行。学军中学集训不得不说这里的训练和我们很不一样,而且机房安排和训练安排都有毒,每天过着不知所措的生活。 模拟赛都不错(有时会翻车) NOI前两天基本都在放松了,没咋做题。DAY 0晚上也不知道干啥就去找sqc颓东方。 然后回来被鄙视。 就睡觉了。DAY 1上午开幕式,校长讲话居然最有趣。 dzd一个D一个D挣亿。 下午鄙视,一样5min做完,和去年...
阅读(1133) 评论(9)

NOI2016搞基记

前言没错这确实是2017年7月写的……NOI前每场模拟赛基本都被学长们虐的死去活来,每场只改一题。 反正才初三随便浪。南山中学集训这里的题都好简单。 第一天全校写动态点分挂。 第二天我提前离场扬言AK最后FST。 信心赛! 期间有翻车,就是我买了省内流量下载this is war of mine然后扣了200元话费。。 轻松的颓废,死了两把twom,too difficult(一局我能玩...
阅读(496) 评论(2)

排序列表

题目大意有若干个区间,C(m)表示所有包含m这个点的区间编号排序后的序列。 求本质不同的非空字典序第k小的序列。做法先离散化,因为本质不同不会超过2n个序列。 接下来顺序扫,并维护每个位置的hash值。 遇到之前出现过的hash值就叉掉。 然后接下来枚举按字典序枚举,每次看看往字典序末尾加入i会有多少种可能。 对于k,如果它不在答案序列中,不能选择它区间所包含的m。 对于k,如果它在答案...
阅读(136) 评论(0)

装箱

题目大意n个箱子,每个都有三个属性(a,b,c),可以任意调换属性顺序。 一段区间的价值定义为任意调换后max(a)*max(b)*max(c)的最小值。 求所有区间价值和。结论把所有箱子的三个属性按降序排列,一定最优。 考虑找到了全局最大值mx,把mx调到第一维,接下来第一维答案一定是mx,而其他箱子也一定会将自己的最大值调到第一维,第二维也同理。瞎做对三维维护单调栈。 维护线段树,位置l...
阅读(113) 评论(0)

[美团 CodeM 复赛]神秘代号

题目大意n个点n条边的联通无向图,每个点i有一个[0,p)的数xi,p是个质数。 每条边(u,v)都有一条方程形如a∗xu+b∗xv≡c(mod p)a*xu+b*xv\equiv c(mod\ p) 保证x有解且有唯一解,求出x。解方程假定一个位置的值是x,然后从这个位置bfs通过边上的方程用x表示出其余每个点的值。 因为一定有环所以可以在某条边上解方程得到x。#include<cstdio...
阅读(205) 评论(0)

[美团 CodeM 复赛]城市网络

题目描述有一个树状的城市网络(即 nnn 个城市由 n−1n-1n−1 条道路连接的连通图),首都为 111 号城市,每个城市售卖价值为 aia_ia​i​​ 的珠宝。你是一个珠宝商,现在安排有 qqq 次行程,每次行程为从 uuu 号城市前往 vvv 号城市(走最短路径),保证 vvv 在 uuu 前往首都的最短路径上。在每次行程开始时,你手上有价值为 ccc 的珠宝(每次行程可能不同),并且每经...
阅读(210) 评论(0)

[美团 CodeM 复赛]配对游戏

题目描述有 nnn 个人排成一排,一开始全部面向前方,然后随机朝左或是朝右转。然后我们不断审查这个队列,每次选择两个面对面的相邻的人,将他们从队列中取出。例如(> 表示向右,>><<>><<><><><<<> 的消除过程为,>><><<<> 到 >><<<> 到 ><<> 到 <>(每次去除一对)...
阅读(209) 评论(0)

小R打怪兽

题目描述推式子首先我们设Bi=max(A−Di,1)B_i=max(A-D_i,1) ∑mi=1∑Xj≤Hj≤Yj[∑nj=1[⌈HjBj⌉≤i]≥k]\sum_{i=1}^m\sum_{X_j\leq H_j \leq Y_j}[\sum_{j=1}^n[\lceil\frac{H_j}{B_j}\rceil\leq i]\geq k] 这让我们很不好搞,但是我们可以容斥,枚举若干个,然后要求...
阅读(98) 评论(0)

动物园

题目大意两个字符串a和b,从a中选取一个非空子串,从b中选取一个非空子串,然后拼起来变成回文串,求这个回文串最大长度。SAM先做一遍manacher处理出从某个串某个位置出发最长回文串。 先把b反过来。 然后你注意到这个回文串一定可以表示成c+S+c,其中S是一个回文串,然后c是a或b中选出的子串。 我的做法是把a和b一起丢去做广义SAM,然后计算每个节点是否同时出现在两个串中,并维护righ...
阅读(105) 评论(0)

[bzoj4173]数学

题目大意懒得写推导[n mod k+m mod k≥k]=[n−⌊nk⌋k+m−⌊mk⌋k>=k][n\ mod\ k+m\ mod\ k\geq k]=[n-\lfloor\frac{n}{k}\rfloor k+m-\lfloor\frac{m}{k}\rfloor k>=k] 于是等价于 [⌊n+mk⌋−⌊nk⌋−⌊mk⌋>=1][\lfloor\frac{n+m}{k}\rfloor-\...
阅读(102) 评论(0)

[bzoj4919]大根堆

题目描述给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点。每个点有一个权值v_i。 你需要将这棵树转化成一个大根堆。确切地说,你需要选择尽可能多的节点,满足大根堆的性质:对于任意两个点i,j,如果i在树上是j的祖先,那么v_i>v_j。 请计算可选的最多的点数,注意这些点不必形成这棵树的一个连通子树。解法(不)容易看出这是一个变种LCS。 如果只有一条链就是LCS。 如果多条链...
阅读(236) 评论(0)

[bzoj3060]Tour de Byteotia

题目大意给定一个n个点m条边的无向图,问最少删掉多少条边能使得编号小于等于k的点都不在环上。贪心把两边编号都>k的边先加入。 再把剩余的边加入,若形成环就删去新加边。 闭上眼睛感受当然最优。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; const int...
阅读(130) 评论(0)

流浪

题目描述DP考虑每个位置的贡献。 枚举一个位置,然后做dp,我们需要处理从(0,0)走k步到这个位置的方案数(中途不到达这个位置),以及从这个位置开始走k步到某个位置的方案数(中途不到达这个位置),以及从这个位置开始走k步中途不到达自己的方案数。 然后再做dp,从(0,0)走j步到达这个位置且中间恰好经过它k次的方案数。#pragma GCC optimize (2) #include<cstd...
阅读(121) 评论(0)

果树

题目大意问一棵树上有多少条路径不包含同色点。 一种颜色最多20个点。瞎做对于同色点提取出来两两形成一个约束。 这样约束只有n*20个。 因为最坏情况是每种颜色都出现20次。 那么n/20*20^2=n*20。 接下来变成了owaski的那道A,可以在本博客内搜索。#include #include #include #define fo(...
阅读(108) 评论(0)

容器

题目描述DP用括号表示一段区间。 设f[i,j,k]表示做到第i个位置,目前未被匹配的左括号有j个,还有k只跳蚤没有左括号。 转移可以直接枚举这个位置放多少右括号以及下一个位置放多少左括号,乘上对应组合数。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) #define fd(i,a,b) for(i...
阅读(99) 评论(0)
740条 共50页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:247991次
    • 积分:10024
    • 等级:
    • 排名:第1825名
    • 原创:737篇
    • 转载:4篇
    • 译文:0篇
    • 评论:187条
    最新评论
    文章分类