THUPC2017 看题总结

#2402. 「THUPC 2017」天天爱射击 / Shooting

果题。

求当前子弹能会使多少块木板损坏,发现因为木板会随着子弹数目的增加而更加容易损坏,故此询问具有单调性。

而后又发现可以离线,考虑整体二分。

每次用一个\(solve(x,y,l,r)\)表示当前处理:编号为\(x\)到\(y\)的子弹,编号为\(l\)到\(r\)的木板。

把这些所有子弹都扔到树状数组里然后每个木板查询区间和看够不够用就好了。

一定要记得存在木板从始至终都没损坏的情况所以循环退出的时候需要特判。

#2404. 「THUPC 2017」体育成绩统计 / Score

这大模拟题....绝了~

#2405. 「THUPC 2017」玩游戏 / Game

这题就非常有意思了。

不难发现所有的情况肯定能通过以下方式构造出一组解:

每次贪心的放最大的就行了,证明显然啊.....

这样的话就只需要判一下是不是这两个数的和\(Sum​\)存在一个数\(n​\)使得\(\frac{n*(n+1)}{2}=Sum​\)即可。

#2409. 「THUPC 2017」小 L 的计算题 / Sum

首先我们发现要求的东西非常整齐,以为是什么神仙\(dp\)啥的。

无果.....
想多项式吧,我们考虑能不能弄出这么一个生成函数使得\(f_i\)就是这个生成函数的第\(i\)项。

不妨设其为\(F\)。

那么显然的,这个生成函数就可以被表示成:
\[
F = \sum\limits_i \sum\limits_{j=1}^n a_j^ix^i
\]
考虑把\(a\)序列单独枚举:
\[
F = \sum\limits_{j=1}^n \sum\limits_i a_j^ix^i
\]
不难发现,后面的这个\(\sum\limits_i a_j^i x^i\)可以逆麦克劳林展开,变成\(\frac{1}{1-a_jx}\)。

所以原式就变成了
\[
F = \sum\limits _ {j = 1} ^ n \frac{1} {1 - a _ j x}
\]
这东西直接多项式求逆然后分治\(NTT\)搞一搞就好了嘛

会\(T\)........

然后怎么办呢?

原式其实等价于:
\[
F = \sum\limits _ {j = 1} ^ n 1 + \frac{a _ j x} {1 - a _ j x} \\
F = n - \sum\limits _ {j = 1} ^ n (ln(1 - a _ j x))' \\
F = n - (\sum\limits _ {j = 1} ^ n ln(1 - a _ j x))'\\
F = n - ln(\prod\limits _ {j = 1} ^ n (1 - a _ j x))
\]
后面的东西分治起来就相当快了

然后多项式取\(ln\)就好了。

剩下的题按照常理不就是应该咕咕咕的么啊哈哈哈哈

THUPC2017看题总结的更多相关文章

  1. UVALive 4953 Wormly--【提醒自己看题要仔细】

    有一条虫要过桥,桥有断的木板和好的木板.虫有L条腿B个身体,桥长N.01串表示桥的好坏.输出最少操作次数. 一开始虫的身体在最左B桥上,腿在最左L桥上,最后要到达最右B以及最右L... 操作有2种:① ...

  2. THUPC2018看题总结

    THUPC2018看题总结 #6387. 「THUPC2018」绿绿与串串 / String 据说是签到题啊. 首先根据题目的意思,我们发现如果能找到那个最后一次选择的对称轴岂不是美滋滋. 自然地,我 ...

  3. HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?

    这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others)  ...

  4. 欧拉计划(1~3)ps:以后看题一定要认真

    那天的题挺简单的 下面来看下 No1 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get ...

  5. Hibernate 测试分析 好多题都是没认真看题错了。

    此题目考查的是对Hibernate中交叉连接的理解.HQL支持SQL风格的交叉连接查询,交叉连接适用于两个类之间没有定义任何关联时.在where字句中,通过属性作为筛选条件,如统计报表数据.使用交叉连 ...

  6. hdu 1005 1021 递归超限 找规律 // 只要看题中n较大都是有规律的

    因为n>1000000000所以用递归 数组超限, 由递归函数f(n)=(A*f(n-1)+B*f(n-2))%7; 因为是除7的余数 因次一共有7*7=49种情况, 以后的值都和之前的对应相等 ...

  7. 年底了,特贡献一些C#有意思的算法题

    2013年,即将要过去了.屌丝C#程序员们拿到了年终奖不?是不是又想蠢蠢欲动了?是不是想通过跳槽来为自己实现加薪的梦想?好吧,跳槽之前还是做点准备吧,准备好C#的笔试吧.这里我收集了些奉献给大家,大家 ...

  8. 【BZOJ2456】mode 神奇的卡内存题

    以后把题解放在前面,估计没人看题解先看题... 内存1M,4个int(其实对内存的概念十分模糊),众数即为出现次数最多的数,可以用抵消的思想(但是众数不是可以是一大坨么...) #include &l ...

  9. ocp 1Z0-047 131-276题解析

    131. Which view would you use to display the column names and DEFAULT valuesfor a table?A. DBA_TABLE ...

随机推荐

  1. 第二周作业xml学习情况

    1.xml简介 可扩展标记语言是一种很像超文本标记语言的标记语言. 它的设计宗旨是传输数据,而不是显示数据. 它的标签没有被预定义.您需要自行定义标签. 它被设计为具有自我描述性. 它是W3C的推荐标 ...

  2. Hystrix 断路器

    断路器: 当客户端访问服务端,发现服务端有异常不能进行访问时,就会执行一个fallback 方法.

  3. free - 显示系统中已用和未用的内存空间总和.

    总览 (SYNOPSIS) free [-b | -k | -m] [-o] [-s delay ] [-t] [-V] 描述 (DESCRIPTION) free 显示 系统中 已用和未用的 物理内 ...

  4. // mounted: {}, 原来是 空方法 导致了 vue 的警告 !| [Vue warn]: Error in mounted hook: "TypeError: handlers[i].call is not a function"

    // mounted: {}, 原来是 空方法 导致了 vue 的警告 !| vue.runtime.esm.js?2b0e:587 [Vue warn]: Error in mounted hook ...

  5. Format a Hard Drive in Csharp

    Article Author(s): Audric Thevenet All Rights Reserved. Here's how to format hard drives, floppies, ...

  6. bonding的系统初始化介绍

    bond0模块的加载 Bonding原理 为方便理解bonding的配置及实现,顺便阐述一下Linux的网络接口及其配置文件.在 Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间.与网 ...

  7. oracle插入多表(insert all/first)

    1.建测试表   CREATE TABLE EDW_INT   (     AGMT_NO         VARCHAR2(40 BYTE)             NOT NULL,     AG ...

  8. bzoj2588 counting on a tree

    题目不难,树上可持久化数据结构. 帖代码: #include<cstdio> #include<algorithm> using namespace std; #define ...

  9. LEFT JOIN结果集可能变大。。。。。

    SELECT A.*,B.* FROM A LEFT JOIN B ON A.ID = B.ID

  10. PHP 配置文件php.ini文件优化

    PHP 5.3.3 safe_mode = On #控制php中的函数执行比如system() 这个函数可以调用系统目录 比如 rm ,打开这个配置之后,同时把很多文件操作的函数进行了权限控制 saf ...