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. 总结:如何使用redis缓存加索引处理数据库百万级并发

    前言:事先说明:在实际应用中这种做法设计需要各位读者自己设计,本文只提供一种思想.准备工作:安装后本地数redis服务器,使用mysql数据库,事先插入1000万条数据,可以参考我之前的文章插入数据, ...

  2. ldap部署相关,ldap双机\LAM配置管理\ldap备份还原

    前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 就单点登录实现过程进行详细记录,ldap是一切的基础,可以把它理解成一个读强写弱的文件类型数据库,统一认证我们通过 ...

  3. ASP.NET使用HttpModule压缩并删除空白Html请求

    当我们压缩我的Response后再传到Client端时,可以明显节省宽带. 提升Site的性能. 现在的浏览器大部分都支持Gzip,Deflate压缩. 同时我们还可以删除一些空白段,空行,注释等以使 ...

  4. Android手机越用越卡?

    一直不懂Android手机为什么会越用越卡,而ios就几乎能一直保持流畅度.后来发现这个锅不该google背,而是国内混乱的Android软件开发商的锅.主要是Android对应用没什么限制,而goo ...

  5. PHP中模拟JSONArray

    前面整理过一篇文章,描述php中的array与json的array和object的转换关系.http://www.cnblogs.com/x3d/p/php-json-array-object-typ ...

  6. 如何实现一个php框架系列文章【3】支持psr4的自动加载类

    psr4自动加载规范https://github.com/PizzaLiu/PHP-FIG/blob/master/PSR-4-autoloader-cn.md 我们把第三方使用psr规范的类库放在v ...

  7. openresty 前端开发入门三之JSON篇

    这章主要介绍一下,lua怎么返回一个json字符串,怎么把一个table转成json字符串,又怎么把一个json字符串转成json 其实很简答,直接使用cjson库的encode.decode方法即可 ...

  8. 项目编码规范(Ali)

    一.研发流程规范 二.SQL编码规范 数据库命名规范:数据库名一律小写,必须以字母开头.库名包含多个单词的,以下划线“_”分隔.如果采用分库方案,分库编号从“0”开始,用“0”左补齐为四位. 表名规范 ...

  9. CSS3 Flexbox轻松实现元素的水平居中和垂直居中

    CSS3 Flexbox轻松实现元素的水平居中和垂直居中 网上有很多关于Flex的教程,对于Flex的叫法也不一,有的叫Flexbox,有的叫Flex,其实这两种叫法都没有错,只是Flexbox旧一点 ...

  10. kmdjs和循环依赖

    循环依赖 循环依赖是非常必要的,有的程序写着写着就循环依赖了,可以提取出一个对象来共同依赖解决循环依赖,但是有时会破坏程序的逻辑自封闭和高内聚.所以没解决好循环依赖的模块化库.框架.编译器都不是一个好 ...