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. webapi之fiddler头设置

    Host: localhost:16648Connection: keep-aliveContent-Length: 36Accept: application/json, text/javascri ...

  2. QProcess执行带管道的shell命令

    QStringList options; options << "-c" << "ls -l | grep a | sort"; QPr ...

  3. jacob的使用方法

    网上一大堆你抄我的,我抄你的,但基本配置都没说清,做个笔记让后来的人少走冤枉路 1.下载最新的jacob,jdk版本一一对应,1.6对应jacob的1.16,1.7对应1.17.... 2.应用程序将 ...

  4. javascript动态添加、修改、删除对象的属性与方法

    在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译.JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为, ...

  5. 50个Bootstrap扩展插件

    Bootstap这个框架本身已经包含了开发网页的众多要素,包括了常用的工具以及扩展组件,如果你在开发页面时觉得在某些方面还不够的话,不妨看看最新收集的50个Bootstrap扩展插件,这些插件在我们平 ...

  6. systemtap执行过程中报probe timer.profile registration error

    probe timer.profile registration error 今天在执行火焰图的过程中,代码报错,probe timer.profile registration error 经过查询 ...

  7. Django请求,响应,ajax以及CSRF问题

    二.request对象常用属性: Attribute Description path 请求页面的全路径,不包括域名端口参数.例如: /users/index method 一个全大写的字符串,表示请 ...

  8. TensorFlow低阶API(三)—— 变量

    简介 TensorFlow变量是表示程序处理的共享持久状态的最佳方法. 我们使用tf.Variable类操作变量.tf.Variable表示可通过其运行操作来改变其值的张量.与tf.Tensor对象不 ...

  9. Gear Pump: Why Install A Pressure Reducing Valve?

    When the     Gear Pump Manufacturers    prompts to install a gear pump, the following points should ...

  10. check.pl

    比对两个文件并纠错 #!/usr/bin/perl use strict; use warnings; ###############################################m ...