A

题意:平面上有n个点(n<=100000),给你一个p(20<=p<=100) 判断是否存在一条直线至少过[np/100](向上取整)个点,时限20s,多组数据

分析:概率算法

  最直接的想法是枚举任意两个点算出这条直线经过多少点,这样至少也是O(n^2)(当然肯定不止),TLE

  注意p>=20,假设结果存在,那么这条直线要经过至少n/5个点

  那么一次枚举两个点,成功的概率是1/5*1/5=1/25

  也就是说如果结果存在,那么一次枚举枚举不到的概率是24/25

  如果枚举n次,一直都枚举不到的概率是(24/25)^n

  当n比较大的时候,这种枚举不到的概率就很小

  所以根据相应时限可以得到一个n的值,进行枚举,如果找到了那么就是possible,如果没找到就可以认为是impossible,我取的n是250

  注意特判n=1

B

题意:f(0)="R",f(i)=~f(i-1)(R变成B,B变成R)+f(i-1),询问第Y次的字符串第P位是R还是B

分析:分治

  每次可以根据当前位置和中间位置作比较,去左边还是右边,注意的是每次递归都要有一个d来表示当前层第一位是R还是B,如果进入左边则d不变,如果进入右边则d^1

C

题意:n*n的矩阵(n<=200),找到一个最大的k,使得存在一个k*k的矩阵,每一行每一列都是回文串

分析:预处理

  h[k][i][j]表示第k行,第i位到第j位是否是回文串,这个可以用区间dp求出,h[k][i][j]|=h[k][i+1][j-1]&&s[k][i]==s[k][j],注意初始化的时候要考虑两个相邻的相同字母

  l[k][i][j]同理表示列的

  现在可以想到如果枚举(i,j),再枚举个k,那么还需要n的时间check,所以时间复杂度是O(n^4)->TLE,还需要预处理

  f[i][j][k]表示s[i][j]s[i][j+1]s[i][j+2]......s[i][j+k-1]这段串一直向下扩展最多能扩展多少行(也就是保证每行的i...j+k-1都是回文串)

  同理g[i][j][k]是表示列的情况

  那么再枚举(i,j)和k,就可以通过O(1)的时间判断k是否可行了,即判断f[i][j][k]和g[i][j][k]是否都>=k

  O(n^3)

D

题意:将一个数分解质因数,将不同的质因子加起来得到一个新数,不断操作直到成为一个素数,操作的次数就称为原始数的操作次数;给出A,B,K(均<=1000000),询问[A,B]内操作次数为K的数有多少(有P<=100000组查询)

分析:筛+vector

  首先可以根据素数筛很容得到每个数的不同质因子的和s[i]

  f[i]表示操作次数,那么f[i]=f[sum[i]]+1 (sum[i]一定小于i)

  然后就是查询的问题

  易得操作次数肯定不会太大(实际上最多不会超过13)

  那么就可以根据操作次数,把操作次数相同的数从小打到放进vector中

  对于每个查询[A,B],只要在K对应的那个vector中二分查找就行了

E

题意:T<=100组数据,每组数据给出n个数,你每次可以任选两个数,将其中一个+1,另一个-1,问经过若干次操作,最多能有多少个数相等

分析:思维题

  选择一个数作为辅助数,那么可以将其它所有数的大小任意调,当然可以调到都相等,所以答案至少是n-1

  答案能否为n呢?如果所有数的和能被n整除,那么就是n了

F

题意:一道计算几何,留坑

  

Wannafly Union Goodbye 2016的更多相关文章

  1. Wannafly Union Goodbye 2016-A//初识随机化~

    想来想去还是把这个题写下来了.自己在补题遇到了许多问题. 给出n(n<=1e5)个点,求是否存在多于p(p>=20)×n/100的点在一条直线上... 时限20s,多组数据,暴力至少n^2 ...

  2. Goodbye 2016 总结与展望

    今天居然是2016年的最后一天了,写点什么回忆吧. 2016开始的时候我刚拿到普及组一等奖,还只是压线,水平很差.学校并不知道这有多差,于是狠狠宣传这所谓的"光荣事迹".那段时间我 ...

  3. 【Mutual Training for Wannafly Union #1 】

    A.Phillip and Trains CodeForces 586D 题意:过隧道,每次人可以先向前一格,然后向上或向下或不动,然后车都向左2格.问能否到达隧道终点. 题解:dp,一开始s所在列如 ...

  4. Mutual Training for Wannafly Union #1解题报告

    ---恢复内容开始--- q神等人组织的vjudge上的多校训练,题目基本上都来自于CF,#1是上周进行的,参加后感觉收获很多,因为上周准备期中比较忙,解题报告现在补上. 比赛地址(兼题目地址) A题 ...

  5. Wannafly Union#1

    题目链接:http://vjudge.net/contest/142053#overview A.题意:有一个3*n的隧道,人和车轮流走,人先向右走一步,然后选在是在原地不动还是上下移动一格,之后车开 ...

  6. Mutual Training for Wannafly Union #6 E - Summer Trip(并查集)

    题目链接:http://www.spoj.com/problems/IAPCR2F/en/ 题目大意: 给m个数字代表的大小,之后n组数据,两两关联,关联后的所有数字为一组,从小到大输出组数以及对应的 ...

  7. Mutual Training for Wannafly Union #2

    codeforces 298A. Snow Footprints 分类讨论三种情况: ①..RRRRRR…  ②..LLLLLLL… ③..RRRLLLL.. //AC by lwq: #includ ...

  8. Mutual Training for Wannafly Union #8 D - Mr.BG Hates Palindrome 取余

    Mr.BG is very busy person. So you have been given enough time (1000 milliseconds) to help him. Mr. B ...

  9. Mutual Training for Wannafly Union #9

    A(SPOJ NPC2016A) 题意:给一个正方形和内部一个点,要求从这个点向四边反射形成的路线的长度 分析:不断做对称,最后等价于求两个点之间的距离 B(CF480E) 题意:求01矩阵内由0组成 ...

随机推荐

  1. 代码的坏味道(13)——过多的注释(Comments)

    坏味道--过多的注释(Comments) 特征 注释本身并不是坏事.但是常常有这样的情况:一段代码中出现长长的注释,而它之所以存在,是因为代码很糟糕. 问题原因 注释的作者意识到自己的代码不直观或不明 ...

  2. 监视EntityFramework中的sql流转你需要知道的三种方式Log,SqlServerProfile, EFProfile

    大家在学习entityframework的时候,都知道那linq写的叫一个爽,再也不用区分不同RDMS的sql版本差异了,但是呢,高效率带来了差灵活性,我们 无法控制sql的生成策略,所以必须不要让自 ...

  3. C#开发微信门户及应用(2)--微信消息的处理和应答

    微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下.学习下微信的相关开发,也就成为计划的安排事情之一了.本系列文章希望从一个循序渐进的角度上,全面介绍微 ...

  4. Lambda 表达式递归用法实例

    注意: 使用Lambda表达式会增加额外开销,但却有时候又蛮方便的. Windows下查找子孙窗口实例: HWND FindDescendantWindows(HWND hWndParent, LPC ...

  5. openresty 前端开发入门二

    这一章主要介绍介绍怎么获取请求参数,并且处理之后返回数据 我们知道http请求通常分为两种,分别是GET,POST,在http协议中,GET参数通常会紧跟在uri后面,而POST请求参数则包含在请求体 ...

  6. entityframework学习笔记--008-实体数据建模基础之继承关系映射TPH

    Table per Hierarchy Inheritance 建模 1.让我们假设你有如图8-1中的表,Employee表包含hourly employees 和salaried employees ...

  7. mui 手势事件配置

    在开发中监听双击屏幕事件时不起作用,需要在mui.init方法的gestureConfig参数中设置需要监听的手势事件 手势事件配置: 根据使用频率,mui默认会监听部分手势事件,如点击.滑动事件:为 ...

  8. 理解jQuery对象$.html

    前面的话 如果要比喻jQuery和原生javascript的关系,我个人认为是自动档和手动档汽车的区别.使用原生javascript,可以知道离合器以及档位的作用:而使用jQuery,则把离合器和手动 ...

  9. Android 命令行执行工具类

    最近在做android项目的时候,需要执行命令行命令,之前在网上找的不仅杂乱而且错误多,于是自己写了一份. 话不多说,直接上代码 import android.util.Log; import jav ...

  10. [Modern OpenGL系列(二)]创建OpenGL窗口

    本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51295663 在博主的上一篇文章中已经介绍了OpenGL开发环境的搭建,本 ...