2019.4.18

  t1:给出不定方程ax+by+c=0,求x在x1~x2并且y在y1~y2时的解个数。考场上想的是一个扩欧板子敲下去,然后构造出x>=x1的最小解,同时得出y,然后通过通项来枚举x1~x2之间的x,判断y是否合法,然后累计答案即可。但正解并不需要枚举,因为x的通项是x=x0+kb,y是y=y0-kb,现在得出了x0,y0,也知道b,直接解一组不等式就好了:x1<=x0+kb<=x2,y1<=y0-kb<=y2,若k算出来不是整数:a<=k<=b,则下界上取整,上界下取整。考场用时:30min,得分50。

  t2:给出一个圆的方程x2+y2=r2,求圆上有多少个坐标为整数的点。考场上先想了个暴力,两边先模上一个大质数p,然后转化为x2+y2Ξr2(mod p) => y2Ξr2-x2,枚举x,然后解出y2,判断y是否为整数,然后累加答案。而光是枚举就会超时。正解是,把圆方程看成一组勾股数,然后通过勾股数的特性来解。考场用时:2h(扩欧一直写挂),得分0。(数据真的强)

  t3:定义函数f(n)=11*22*33*...*nn,一共q次询问,对于每次询问给出的r,求f(n)/(f(r)*f(n-r)) mod m。但是考试时给下来的题目把分母的括号吞了,就是:f(n)/f(r)*f(n-r) mod m,照着这个写就挂了。。。我的思路是(当然是求后面这个错式子的思路),离线处理,先线性算出f(i)%m,然后询问时求出f(r)的逆元就可以回答了。顺便写了个记忆化,把f(r)的逆元存了起来。但是好像一组数据之后忘了memset。。。当然那时的思路也是错的,因为f(r)不一定与m互质,不能够求逆元。正解是,把m分解质因数,分别计算对答案的贡献。考场用时:30min(先做的t1,t3),得分0(题目没错的话应该能拿一点)。

编年史:OI测试的更多相关文章

  1. nowcoder(牛客网)OI测试赛3 解题报告

    昨天因为胡搞了一会儿社团的事情,所以错过(逃过)了nowcoder的测试赛..... 以上,听说还是普及组难度qwq,而且还有很多大佬AK(然而我这么蒻肯定还是觉得有点难度的吧qwq) 不过我还是日常 ...

  2. nowcoder(牛客网)OI测试赛2 解题报告

    qwq听说是一场普及组难度的比赛,所以我就兴高采烈地过来了qwq 然后发现题目确实不难qwq.....但是因为蒟蒻我太蒻了,考的还是很差啦qwq orz那些AK的dalao们qwq 赛后闲来无事,弄一 ...

  3. 牛客oi测试赛 二 B 路径数量

    题目描述 给出一个 n * n 的邻接矩阵A. A是一个01矩阵 . A[i][j]=1表示i号点和j号点之间有长度为1的边直接相连. 求出从 1 号点 到 n 号点长度为k的路径的数目. 输入描述: ...

  4. [牛客OI测试赛2]F假的数学游戏(斯特灵公式)

    题意 输入一个整数X,求一个整数N,使得N!恰好大于$X^X$. Sol 考试的时候只会$O(n)$求$N!$的前缀和啊. 不过最后的结论挺好玩的 $n! \approx \sqrt{2 \pi n} ...

  5. 关于斐波那契数列的一些恒等式 模板 牛客OI测试赛 A 斐波拉契

    牛客A 斐波拉契 链接:https://www.nowcoder.com/acm/contest/181/A来源:牛客网 设f[i]表示斐波那契数论的第i项 f[1]=1,f[2] =1,f[i] = ...

  6. 牛客OI测试赛 C 序列 思维

    链接:https://www.nowcoder.com/acm/contest/181/C来源:牛客网 题目描述 小a有n个数,他想把他们划分为连续的权值相等的k段,但他不知道这是否可行. 每个数都必 ...

  7. 牛客OI测试赛 F 子序列 组合数学 欧拉降幂公式模板

    链接:https://www.nowcoder.com/acm/contest/181/F来源:牛客网 题目描述 给出一个长度为n的序列,你需要计算出所有长度为k的子序列中,除最大最小数之外所有数的乘 ...

  8. 编年史:OI算法总结

    目录(按字典序) A --A* D --DFS找环 J --基环树 S --数位动规 --树形动规 T --Tarjan(e-DCC) --Tarjan(LCA) --Tarjan(SCC) --Ta ...

  9. 牛客OI测试赛2

    题目链接:https://www.nowcoder.com/acm/contest/185#question A.无序组数 暴力求出A和B的因子,注意二元组是无序的,因此还要考虑有些因子在A和B中都存 ...

随机推荐

  1. 迭代DOM集合的几种方法

    1.  Array.prototype.slice.call()    转数组再遍历 var a= document.querySelectorAll('div'); var arr = Array. ...

  2. 不装插件,查看.rp文件

    AxShare国内平台地址:http://share.axure.org临时急用可以使用公用帐户.用户名:axure@webppd.com,密码:webppd123 上传.rp文件,点击 url 地址 ...

  3. 11 安装已集成HA的树莓派镜像Hassbian

    2017-09-04 10:40:47 下载Hassbian镜像文件,浏览https://github.com/home-assistant/pi-gen/releases/tag/v1.23,查看最 ...

  4. Asia-Tsukuba 2017

    A. Secret of Chocolate Poles DP,$f[i][j]$表示高度为$i$,顶层颜色为$j$的方案数. 时间复杂度$O(l)$. #include<cstdio> ...

  5. rmq问题模板处理

    rmq问题: 先贴一下定义 范围最值查询 维基百科,自由的百科全书 范围最值查询(Range Minimum Query),是针对数据集的一种条件查询.若给定一个数组 A[1, n],范围最值查询指定 ...

  6. Java 标记接口

    没有声明或定义方法的接口称为标记接口(Mark Interface).某个类实现该接口时不需要重写方法,表明具有接口标记的功能.Java中常用的3个标记接口如下: 1 Serializable jav ...

  7. python学习:格式化输出

    格式化输出 代码如下: name = input("Name:") age = input("Age:") job = input("Job:&quo ...

  8. eclipese pyDEV安装----可以直接运行python文件

    重点: 1.Eclipse中手动安装pydev插件 2.开始写代码 1.下载匹配eclipse的pyDev版本: https://sourceforge.net/projects/pydev/file ...

  9. 关于python字符串基本操作

    python字符串基本操作,比如字符串的替换.删除.截取.复制.连接.分割等.都是一些关于字符串的一些方法.下面来列举一些,相信对学习python还是有些帮助的. 1.去除空格--strp(): &g ...

  10. 关于Python中迭代器的作用

    迭代器的定义:含有__iter__()方法和__next__()方法的就是迭代器,即(iterate) 含有__iter__()方法就可以使用for循环,即iterable(可迭代的) Iterabl ...