
Codeforces GYM
orz11111111
这个作者很懒,什么都没留下…
展开
-
Gym CERC 16 F Free Figuriness 思维+模拟
CERC 16Problem F题意:给出序列a和目标序列b.下标小的可以放到下标大的内部.每个物品内部最多直接放一个物品.a[i]!=0 则表示i放在a[i]内部.操作1:x放入y (条件:节点y是空的(y无父节点也没前驱) && x没有父节点.)操作2 把x从y中取出 (条件:节点y父节点.)问将序列a变为序列b的最小操作次数? nn=6 a={2,5,4,0原创 2017-10-21 10:56:27 · 294 阅读 · 0 评论 -
NCPC 16 C Card Hand Sorting 思维,二元组LIS
题意:扑克牌有4种花色{s,h,d,c}. 现在有n张扑克牌牌={花色,编号}.要求:将同一种花色牌放在一起.并且同一花色中编号按从小到大或者从大到小顺序放.操作:把某张牌插入任意两种牌中间,或者放到头尾.n<=52. 问满足条件时 最少要用多少次操作?假设只有一个类型花色. 那么将序列排序需要的最小操作次数为:n- LIS (排序后LIS=n,一次操作最多让LIS+1)...原创 2018-11-04 00:33:04 · 274 阅读 · 0 评论 -
NCPC 16 B Bless Your AutoCorrect 建图,Trie,BFS
题意:按照出现频率由大到小给出n个单词,操作1:输入一个字符或者删除当前字符.操作2:根据现在所输入的字符串s,自动联想到字典中前缀为s并且出现频率最大的单词.n,m<=1e5 总的字符数<=1e6.m次询问,每次给出一个单词,问输入该单词最少需要多少次操作. 操作次数最多为单词的长度,一次操作2会输入若干个字符 可能会减少操作次数.建图:先对字典中的单词建立T...原创 2018-11-04 00:31:35 · 190 阅读 · 0 评论 -
GCPC 13 F Peg Solitaire 暴力dfs,状态数
题意:5*9的字符矩阵,'.'表示空地','#'表示障碍,'o'表示棋子.操作:若一个'o'它相邻4格中某个方向也为'o' 则它可以跳跃相邻的'o'落在其旁边的'.'空地上.并且被跨越的'o'消失.'o'最多8个. 问最少剩余多少个棋子.并求出此时需要的最少操作次数.因为'o'最多8个 并且每操作一次减少一个'o' BFS存状态麻烦.用dfs是否能不超时?平均每个'o'操作的次数为2. ...原创 2018-11-03 22:42:42 · 415 阅读 · 0 评论 -
GCPC 13 E No Trees But Flowers. 定积分(函数绕x轴旋转体积).梯度法
题意:花瓶的轮廓用 f(x)= a*e^(-x^2) + b*sqrt(x) 来描述. a,b为常数.x为花瓶的高度.花瓶的体积为:f绕着x轴旋转一圈. 给出目标体积V 以及n个花瓶的参数a,b,h.0<V<=1e5.0<n<=5.任意两个花瓶的体积至少差1e-4.问哪一个花瓶体积最接近V?.高度h为x轴的右边界.函数f(x)绕着x轴旋转一圈.选两点x,x+dx.旋...原创 2018-11-03 22:42:09 · 607 阅读 · 0 评论 -
GCPC 13 A Boggle 暴力,Trie剪枝
///////////////////////////////////题意:字典中总共有w个单词.b次询问.每次给出一个4*4的字符矩阵.可以从矩阵中任意一个位置开始.往相邻8个方向走.最后组成一个单词.若组成的单词在字典中,则按其长度来计算分数. 长度3,4积分为1.长度5积分2.长度6积分3.长度7积分5.长度8积分11.字典中的单词长度最多为8.矩阵中的同一个位置在一个单词中只能出...原创 2018-11-03 22:36:43 · 293 阅读 · 0 评论 -
GYM Samara16 A Treasure Island 暴力
题意:n*m的地图,'#'表示障碍, '.'表示land, '?'表示待定. 可以上下左右移动.问是否能将地图上所有的'?'变为'.'或者'#' 使得地图上只有一个联通分量.n,m先把所有的'?'都变为'.' 还是有多少个联通分量时如果有某个个联通分量全部都为'?则把该摧毁该连通分量,直到联通分量个数为1为止.若此时联通分量个数还是>1则无解.现在只有一个联原创 2017-12-22 11:47:04 · 226 阅读 · 0 评论 -
GYM Amman 17 J. Spilt the String 模拟,枚举
题意:给出字符串s 包含空格.问是否能把s分成若干个区间.满足每个字符串只会落在某个区间,并且每个区间长度都相同.|s|因为一个字符串不会落在多个区间上 所有分割的位置只能为空格.枚举区间长度x,判断分割点是否为空格即可O(nlogn).#include using namespace std;typedef long long ll;const int N=2e5+5,mo原创 2017-10-26 15:09:29 · 260 阅读 · 0 评论 -
GYM Amman 17 G. Super Subarray 暴力,最小公倍数.
题意:给出长度为n的序列a,若区间[L,R]之和为sum 并且 sum为a[L],a[L+1]..a[R]的倍数 则区间[L,R]合法.n枚举区间后暴力判断 O(n^3) TLE...枚举左端点 右端点无单调性 {1,2,3}.枚举区间[L,R] 如果能快速知道[a[L]..a[R]]的最小公倍数x(枚举区间的时候维护一下lcm) 在判断sum是否为x的倍数即可.原创 2017-10-26 11:11:11 · 263 阅读 · 0 评论 -
NEERC 17 H. Palindromic Cut 暴力(回文)
Problem H题意:给出n个字符.问把n个字符分成k个字符串 要求:这k个字符串的长度都相同,这k个字符串都为回文.nk组字符串 每组中最多只能有一个出现奇数次的字符.如何输出方案:先把g个奇数字符仍到每组中间,剩下的2个相同的一对,有c对 如果能平均分给每组 即c为g的倍数 则退出.否则拆掉一个偶数 增加组数后继续判定.O(127*|S|)#include us原创 2017-10-22 15:12:27 · 447 阅读 · 0 评论 -
GYM CERC 16 K Key Knocking 构造
Problem K题意:给出长度为3n的01串,定义一个串的价值为:相邻不同的个数+1.例如011010100 价值为7.操作反转两个相邻元素:将[x,x+1]两个元素的值反转,0->1,1->0.n构造:每三个分成一组,每组的价值(只要为1,并且该组开头和前一组结尾不同)或者(该组价值为2)则至少凑成2n-1的得分.例如前一组结尾为0: 000->110 变一次得分+原创 2017-10-21 16:14:22 · 341 阅读 · 0 评论