CSPS-S 模拟47

考试考得一般般,改题改到天昏地暗

T1 TLE10分, T2 TLE90,T3~不用说了(目前还没读懂题)

并列的有十个人

T1 Emotional Flutter

  先把题意理解一下,千万不要按点来干,应该按照一个个长度为1的格来看,比如脚长为2时,占两格,脚尖部分(第二个格)不能在下一个黑条的第一个格上

  所以先把脚长S(缩成脚后跟)整成一个格 1,只要把白条减去最后S-1个格(脚跟不能在这几个格里,但从后往前数的第S个格是可以放脚跟的),那么黑条的长度加上这S-1个格,表示脚跟不能在这个区域内,注意第一个黑条不需要加上 S-1

  因为从第一个黑条的最左边(0的位置)(也可以从更靠左的位置)开始,那么,以第一个黑格第一个格作为1,一步下最多跳到K的格(不管是白  是黑),而后跳下去会形成几个长度为K的条(条长为K)的连续,且一定是第一个条的第i格跳到第二个条的第i格

  一个条内有黑格有白格,脚跟不能跳到黑格,而一条路径上(i 跳到 k+i -> k*2+i ->k*3+i……) 只要有一个格是黑格,此路不通

  那么把黑格的坐标%k(如果模K为0 的话,它是第k个格),因为黑条是连续的,可以把[1,k]上一段连续区间盖上,表示此路不通,

  最后扫一遍看[1,k]上是否有没被盖上的块,有则有路(输出TAK),无则无路(输出NIE)

  如果一个白条长度(减去S-1后)大于K的话,内部会有一个整条(全是白的),这一个条对答案没有影响,但是统计的话会浪费时间,所以长度模一下K

  同样如果一个黑条(加上S-1后)大于等于K,整个[1,k]都会被盖上,不需要在处理判断了,直接NIE

T2 Endless Fantasy

  线段树水题(然而我没一刀切)

  线段树合并,O(NlogN)100分

  启发式合并 O(NlogN^2) TLE 90

  所以一定要注意时间复杂度(听说有的题更适合用启发式合并)

T3 字符消除2

  ~目前不会~

原文地址:https://www.cnblogs.com/heoitys/p/11558717.html

时间: 2024-10-10 14:36:42

CSPS-S 模拟47的相关文章

csp-s模拟47 Emotional Flutter,Endless Fantasy题解

题面:https://www.cnblogs.com/Juve/articles/11558523.html A:Emotional Flutter 如果起点确定,那么我们后面走的点都是固定的,及mod k余数相同 如果路径中有一个%k在黑块里,那么这个起点是不可行的 然后我们可以对于所有黑块,看它限制了哪些余数 最后我们要判断的就是有没有一个长度为s的连续区间,使得它没有被限制 #include<iostream> #include<cstdio> #include<alg

csp-s模拟47

T1: 考虑每个黑条的限制范围其实是一个区间,于是把脚长的限制计算在里面后去掉 而每次只能走k,所以可以在模k意义下进行线段覆盖 若全覆盖则无解,否则有解. (注意若某一个黑条第限制区间大于k,则一定无解) (还要注意若一个黑条跨越了模k的序列,则需要拆成两个) T2: 暴力线段树合并就完了 T3: kmp处理出原串的t集合 考虑实际上问题就是:构造一个字典序最小的01串使其与原串的nxt数组某些位置相同 考虑当满足第i个限制后如何满足第i+1个限制 设\(delta=len_{i+1}-len

冲刺CSP-S集训模拟赛总结

开坑.手懒并不想继续一场考试一篇文. 既没必要也没时间侧边栏的最新随笔题解反思相间也丑 而且最近越来越懒了竟然都不写题解了……开坑督促自己写题解. 并不想长篇大论.简要题解也得写啊QAQ. CSP-S模拟赛59 / 2019-10-04上午 要开考了.. 原文地址:https://www.cnblogs.com/xingmi-weiyouni/p/11621307.html

CSP-S全国模拟赛第二场 【nan】

A.count 本场比赛最难的题... 隔板法组合数容斥 xjb 搞搞就好了 //by Judge #include<cstdio> #include<iostream> #define Rg register #define fp(i,a,b) for(Rg int i=(a),I=(b)+1;i<I;++i) #define fd(i,a,b) for(Rg int i=(a),I=(b)-1;i>I;--i) #define ll long long using

9月份总结(模拟34-50)

深夜发文 注意了这个,这一篇blog涵盖范围很广,并且不涉及任何题目知识的这个. 个人能力过于蒟蒻,但还因重度强迫症不想断掉blog,所以只能把过去一个月欠的东西用这一晚上总结一下, 先把一些没有发布的有用心得补一下 模拟41: 怕的就是麻木啊 考场上心态爆炸,T1没看懂???!!!!!虽然最后大概yy出来了出题人的意思,但是没想全,没过样例, 然后怀疑人生,似乎没了动力已经麻木, 模拟43: 对于想到的东西,一定要打上去!!!什么减枝的,对了就写 模拟47爆零纪念 问题:应该不算是“压宝”吧,

DFS/BFS(同余模) POJ 1426 Find The Multiple

题目传送门 1 /* 2 题意:找出一个0和1组成的数字能整除n 3 DFS:200的范围内不会爆long long,DFS水过~ 4 */ 5 /************************************************ 6 Author :Running_Time 7 Created Time :2015-8-2 14:21:51 8 File Name :POJ_1426.cpp 9 ******************************************

2019.9.19 csp-s模拟测试47 反思总结

思路接近正解?都想到了?这都是借口呀. 没有用的,往前走吧. T1:Emotional Flutter 我的做法和题解不太一样,我把s放在最后考虑了. 因为出发以后步幅是一样的,所以每一个黑条可以ban掉一段出发点.把黑条的左右边界%k存成区间,每个黑条可以存一个或者两个区间[跨越k这个边界].然后像以前写区间覆盖的贪心一样按左端点排序,看看有没有长至少为s的空余. 代码: #include<iostream> #include<cstdio> #include<cstrin

csp-s模拟测试60

csp-s模拟测试60       2019-10-05 RT. 又颓又垃圾. 状态低迷,题都交不上去. 交了也是爆零,垃圾玩家没有什么可说的,就是垃圾. A. 嘟嘟噜 $mlogn$的毒瘤做法. 贴一个不一样的毒瘤做法. 1 //ans=(ans+m)%i 2 #include <cstdio> 3 #include <cstring> 4 #include <iostream> 5 #include <algorithm> 6 #define re re

CSP-S模拟题(补几天的坑,62~69)

模拟62 Graph 很显然的一个性质是旅行次数为一个联通块中边数/2向下取整,树DP+贪心走一边DFS即可求出方案 #include<bits/stdc++.h> using namespace std; typedef pair<int,int> P; typedef pair<P,int> D; struct edge{ int u,v; inline int get(int x){return x==u?v:u;} }e[200050]; int N,M,las