摘要: N个人坐成一个圆环(编号为1 N),从第1个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N = 3,K = 2。2号先出列,然后是1号,最后剩下的是3号。 Input: 2个数N和K,表示N个人,数到K出列。$(2 最多一次运算会有一次实际取模,保障每次n至少 阅读全文
posted @ 2018-08-26 20:40 ART_coder 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 对拍 技术层面: Step1:构建数据生成器 Step2:将暴力和程序和数据生成器放到同一个文件目录 Step3:编写对拍程序 CODE: 阅读全文
posted @ 2018-08-26 19:49 ART_coder 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 模拟退火 概述:求解最优化问题,example:TSP,函数max/min 一、理论: 算法认识:基于爬山算法(每次朝着当前上升最快的方向爬,但是初始化不同可能会得到不同的局部最优值,模拟退火可能跳出局部最优值) 流程:初始高温 温度降低 终止在低温 本质: 贪心+随机化 二、算法描述: $$\be 阅读全文
posted @ 2018-08-26 19:47 ART_coder 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数 定义:表示小于n且与n互质的正整数的个数 用$\varphi (n)$ 或者phi(n)表示 通式:$\varphi(x)=x\prod\limits_{i=1}^{n}1 \frac{1}{p_i}=x\prod\limits_{i=1}^{n}\frac{p_i 1}{p_i}$ $p 阅读全文
posted @ 2018-08-26 19:46 ART_coder 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 普通:O($N^2$) 状态:dp[j]表示,以j结尾的最长的上升子序列 转移:dp[j]=dp[i]+1(if a[j] a[i] ) 初始化:dp[i]=1 优化(nlogn) solution:维护stack[top]表示长度为top的最长子序列结尾最小的是stack[top] 贪心+dp c 阅读全文
posted @ 2018-08-26 19:42 ART_coder 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 树状数组 FUCTION: $\begin{cases}\text{点单修改&&区间求和} \\ \text{区间修改&&单点查询}\\ \text{区间修改&&区间查询}\end{cases}$ 原理:定义c[i],表示以i为结尾的前lowbit(i)个数(原数列)的和(后缀和) 维护c[i],根 阅读全文
posted @ 2018-08-26 19:37 ART_coder 阅读(109) 评论(0) 推荐(0) 编辑
摘要: Polya定理 置换群中的概念(数学表达): $M=\frac{1}{G}\sum\limits_{i=1}^g m^c$ G:表示置换的个数,m表示颜色种类(方案中不一定使用全部颜色),c表示每种置换的循环节个数 注释:循环节个数解释: $$\left[ \begin{array}{cc} 1&2 阅读全文
posted @ 2018-08-26 19:21 ART_coder 阅读(985) 评论(0) 推荐(0) 编辑