T1.笨笨玩糖果(sugar)

有n颗糖,两个人轮流取质数颗糖,先取不了的(0或1)为输,求先手能否必胜,能,输出最少几步肯定能赢;不能,输出-1.

一开始天真的写了一个dp,f[i]表示i颗糖最少取几次能赢或输。然而这个是错的,从对手的角度来讲,他如果必败,一定会选择让对手尽量输的晚一些。否则的话3次以内游戏肯定结束了。

所以可以用dfs套着dp,不能赢的最多步数存为负,能赢最少步数存为正,然后对每个i进行dp,分别用两个变量来保存上述两个值,在判断是否能必胜。

T2.笨笨的宇宙蘑菇(mushroom)

有一个长为1的蘑菇,每过一天,一个长度L>1的蘑菇会分裂为L-1和L+1两个蘑菇。求过了n天有几个蘑菇。

找规律发现,在奇数天时,会*2,在偶数天i时,会变成2i/(i+1)个……(1的时候特殊)。

但是直接高精度不知为何爆了,于是采用质因数分解。首先对于第n天,共有n-1个2,然后对分母分子分别分解,直接高精度乘低精度就好了。

T3.笨笨的电路(circuit)

有n个第一部分点,m个第二部分点,t个第三部分点,前两个部分点中可以有w条带权边相连(保证第二部分点间不直连),给出第三部分点中每个点和二、三部分哪两个点相连。第三部分点为输出端,输出接入数据的异或值。第一部分点和第二部分点,不和1号点连通则输出0,否则输出1。先在要从w条边中选出最小的边权,满足n+m+t号点输出给定的0或1。

非常复杂的图论题,不过好在nm均<=100,最短路部分floyed即可(这道题中这是最高效的了吧)。然后考虑输出,如果一个点传出信号为1,那么这点对答案的贡献率就是它到终点的路径数。这样的话只需要算出第二部分每个点对答案的贡献率即可。

如果要求输出1,就在第二部分里找一个贡献为奇数的点,路径最短。如果要求输出0,就找一个贡献为偶数的非零点,或者(That’s the point):两个奇数点。因为到1的最短路可能重叠。所以枚举中间点找路即可。

二模12day2解题报告的更多相关文章

  1. 二模13day1解题报告

    二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...

  2. 二模14day1解题报告

    注:Index数☞由4,7组成的十进制数. T1.全排列(permutation) 求n个数的第k个排列中,有多少个Index位置上是Index数. 由于k的范围比较小,n的范围比较大(都是109), ...

  3. 二模01day1解题报告

    T1.音量调节(changingsounds) 有n个物品的背包(有点不一样,每个物品必须取),给出初始价值,物品价值可正可负(就是两种选择嘛),求可能的最大价值,不可能(<0或>maxs ...

  4. 二模15day1解题报告

    T1.合并序列(minval) 给出长为 n的AB两个序列求两两相加中最小的n个. 据说有证明(在蓝书上,优先队列部分)先把A[1~n]+b[1]入队,然后每取一个a[x]+b[y]就把a[x]+b[ ...

  5. 二模14day2解题报告

    T1.砍树(cuttree) 给出n棵树,要锯下m米木材,现在有一个高度h,h以上所有木头都砍下来,求满足m米的最小h 很简单的二分答案判断可行性. T2.快速求和(quicksum) 给出数字串s, ...

  6. 二模12day1解题报告

    T1.笨笨与电影票(ticket) 有n个1和m个0,求每个数前1的个数都大于等于0的个数的排列数. 非常坑的一道题,推导过程很烦.首先求出所有排列数是 C(n+m,m),然后算不合法的个数. 假设存 ...

  7. 二模02day1解题报告

    T1.淘汰赛制 比赛时的淘汰赛制,给出每两个球队比赛的胜率,求出最终胜率最高的队伍. 这题的概率真的很难算啊感觉...一开始打的代码打下来就是用f[i][j]表示i场比赛后第j人还在场的概率.不难看出 ...

  8. 二模07day1解题报告

    T1.种树(tree) 有n棵树,各有高度,要求每棵树的高度都小于它到其他树的距离(可能种一起).求砍掉的总高度是多少. Ok,那么可以想到,只要满足每棵树和最近的树满足条件就可以保证和其他树满足了. ...

  9. 二模07day2解题报告

    T1.采药(medic) 有n个草药,要在m的时间内获得最大价值. 乍一看像是01背包,然而数据只能过50分. 考虑数据范围,t<=10,w<=10,所以只有121种草药.考虑多重背包的二 ...

随机推荐

  1. android Handler.btionMessage()与Message.obtain()的区别

    类概述 定义一个包含任意类型的描述数据对象,此对象可以发送给Handler.对象包含两个额外的int字段和一个额外的对象字段,这样可以使得在很多情况下不用做分配工作. 尽管Message的构造器是公开 ...

  2. Android——黑名单

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  3. JAVA的单例模式与延时加载

    延迟加载(lazy load)是(也称为懒加载),也叫延迟实例化,延迟初始化等,主要表达的思想就是:把对象的创建延迟到使用的时候创建,而不是对象实例化的时候创建.延迟加载机制是为了避免一些无谓的性能开 ...

  4. NewQuant的设计(一)——整体的领域设计

    NewQuant的设计思路——整体的领域分析 “领域驱动设计(DDD)”是著名软件工程建模专家Eric Evans提出的一个重要概念,是“面向对象分析设计(OOAD)”的深化.当业务逻辑变得复杂,系统 ...

  5. maven 使用国内代理

    一直使用 maven默认仓库,maven 的下载速度一直不快不慢:最近换了网络,maven秒变蜗牛,换了阿里云的镜像,瞬间飞快. 配置文件 ${USER_HOME}/.m2/settings.xml: ...

  6. oracle case when

    http://www.cnblogs.com/kevin2013/archive/2010/07/02/1769682.html

  7. Linux系统中Xampp+Bugfree安装

    一.XAMPP下载安装: 1.https://www.apachefriends.org/download.html下载安装包, 因为我们是要安装到linux下面,所以下载xampp的linux版本, ...

  8. JS转换HTML转义符

    JS转换HTML转义符 //去掉html标签 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+?>/g,'') ...

  9. 使用jQuery Autocomplete(自动完成)插件

    jQuery 的Autocomplete(自动完成.自动填充)插件有不少,但比较下来我感觉,还是bassistance.de 的比较强大,我们就来写一些代码感受一下. 最简单的Autocomplete ...

  10. webstorm 运行配置gulp

    打开Run/Debug Configurations,设置