• codechef February Challenge 2018 简要题解


    比赛链接:https://www.codechef.com/FEB18,题面和提交记录是公开的,这里就不再贴了

    Chef And His Characters

    模拟题

    Chef And The Patents

    模拟题

    Permutation and Palindrome

    模拟题

    Car-pal Tunnel

    结论比较简单

    Broken Clock

    求余弦的n倍角,可以用复数的快速幂解决

    $cos(a)=x \ sin(a)=sqrt{1-x^2} \ cos(na) = Re((x+sqrt{1-x^2}i)^n)$

    Re表示复数的实部,$sqrt{1-x^2}i$可以看作一个整体参与运算,其平方为$x^2-1$

    Points Inside A Polygon

    多边形内部可以分成一些 三角形内部 和一些 线段内部,线段内部的整点很容易枚举,于是问题只剩下 三角形内部

    用pick定理可以判定整点三角形内部是否有整点,如果有,只要找到一个,就可以递归得到三个三角形和三条线段继续处理

    找出三角形内一个整点,可以用类欧几里得算法(计算整点个数)判定,二分找出整点位置

    (Challenge) Biased Committee

    标准分题,没想到太好的写法

    我的做法是首先最大化 成绩向量 和 一个递减且零均值的等差数列 的 点积 作为初始解(这是一个可以直接贪心求解的问题),然后用爬山法调整

    Chef and odd queries

    用二维kdtree维护每个区间,询问的每个点会使包含这个点的区间的状态反转,对应于在kdtree上矩形操作,每次询问后全局查询并清空

    Chef And Land Labeling

    对每个不超过$sqrt n$的质数,确定它在n以内的最高次幂的位置,然后也就可以确定每个数小于$sqrt n$的质因子情况

    大于$sqrt n$的质因子至多只有一个,很容易推出来(大的质数有很多是互相等价的)

    Lucas Theorem

    题意求的是第一类斯特林数在n固定时,有几个k使得s(n,k)不被p整除,用生成函数不难求出s(n,0..n)%p的值,(打表可知)当n+2较大时可以递归为子问题处理

  • 相关阅读:
    给我30000出租车,还你一个不堵车的北京
    使用vim代替IDE
    (转)声明,函数与函数指针
    想恶作剧的请看过来
    bash命令提示符的更改
    (转)微软面试
    140个Google面试问题
    UTF8 GBK UTF8 GB2312 之间的区别和关系(转)
    MyBooksReadingStatic
    让SlickEdit 自动编译Keil C51工程
  • 原文地址:https://www.cnblogs.com/ccz181078/p/8446971.html
Copyright © 2020-2023  润新知