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较大时可以递归为子问题处理
codechef February Challenge 2018 简要题解的更多相关文章
- codechef January Challenge 2017 简要题解
https://www.codechef.com/JAN17 Cats and Dogs 签到题 #include<cstdio> int min(int a,int b){return ...
- CodeChef February Challenge 2018 Broken Clock (三角函数推导 + 矩阵快速幂)
题目链接 Broken Clock 中文题面链接 令$cos(xα) = f(x)$ 根据三角函数变换公式有 $f(x) = \frac{2d}{l} f(x-1) - f(x-2)$ 我们现在 ...
- CodeChef February Challenge 2018 Points Inside A Polygon (鸽笼原理)
题目链接 Points Inside A Polygon 题意 给定一个$n$个点的凸多边形,求出$[ \frac{n}{10}]\ $个凸多边形内的整点. 把$n$个点分成$4$类: 横坐标奇, ...
- Codechef October Challenge 2018 游记
Codechef October Challenge 2018 游记 CHSERVE - Chef and Serves 题目大意: 乒乓球比赛中,双方每累计得两分就会交换一次发球权. 不过,大厨和小 ...
- Codechef September Challenge 2018 游记
Codechef September Challenge 2018 游记 Magician versus Chef 题目大意: 有一排\(n(n\le10^5)\)个格子,一开始硬币在第\(x\)个格 ...
- Codechef STMINCUT S-T Mincut (CodeChef May Challenge 2018) kruskal
原文链接http://www.cnblogs.com/zhouzhendong/p/9010945.html 题目传送门 - Codechef STMINCUT 题意 在一个有边权的无向图中,我们定义 ...
- CodeChef November Challenge 2013 部分题解
http://www.codechef.com/NOV13 还在比...我先放一部分题解吧... Uncle Johny 排序一遍 struct node{ int val; int pos; }a[ ...
- Codechef July Challenge 2018 : Picking Fruit for Chefs
传送门 好久没写题解了,就过来水两篇. 对于每一个人,考虑一个序列$A$,$A_I$表示当k取值为 i 时的答案. 如果说有两个人,我们可以把$(A+B)^k$二项式展开,这样就发现把两个人合并起来的 ...
- JXOI 2018 简要题解
目录 「JXOI2018」游戏 题意 题解 代码 「JXOI2018」守卫 题意 题解 代码 「JXOI2018」排序问题 题意 题解 代码 总结 「JXOI2018」游戏 题意 可怜公司有 \(n\ ...
随机推荐
- 团队-student_blog-最终程序
托管平台地址:https://github.com/gengwenhao/student_blog 小组名称:逛逛踹电脑 程序运行方法: 其他附加内容:demo版本:http://blog.gengw ...
- Tmux会话-基本操作及原理
一.Tmux命令介绍: Tmux (“Terminal Multiplexer”的简称), 是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色. tmux来自于OpenBSD ...
- Unity 查找泛型List中的相同与不同数据
Unity查找泛型集合中的不同数据 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...
- 在Vuex使用 以及 dispatch和commit来调用mutations的区别
main.js中 import Vuex from 'vuex' Vue.use(vuex); const store = new Vuex.store({ state: { nickName: &q ...
- 不同组的id列表的汇总对比
需求: 三个不同的dfs中存在不同的多个节点id,现在需要求出不同的dfs之间的节点对应关系,比如,哪些节点在某一个dfs,但是不在另一个dfs中 思路: 一. 如果是单纯计算dfs中节点数量,则可以 ...
- LeetCode 852. Peak Index in a Mountain Array C++ 解题报告
852. Peak Index in a Mountain Array -- Easy 方法一:二分查找 int peakIndexInMountainArray(vector<int>& ...
- 2018.5.3 docker
# docker [TOC] ## docker概念 概念官网解释:[docker官网](https://www.docker.com/) 1. 开放平台 2. 容器技术 3. LXC(Linux C ...
- 使用find命令查找文件
find命令用法 语法: find (选项) (参数) 常用选项: -exec<执行命令>: 假设find指令的回传值为True,就执行该指令; -ls: 假设find指令的回传值为Tru ...
- 解决win7无法运行bat批处理文件的方法
在win7系统中我们可以将一些命令制作为bat批处理文件,只需双击打开即可运行命令,方便使用. 那么,要怎么运行bat批处理呢?最近有用户反馈,遇到无法运行bat批处理的现象,该怎么办呢? 修复方法一 ...
- Ubuntu网络不通解决办法
如下问题: 尝试和Host主机互ping也不通, Ubuntu: vmware 桥接模式 IP:192.168.1.202/24 gateway:192.168.1.1 Host主机:网络正常 IP: ...