首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
ZOJ3690—Choosing number
】的更多相关文章
ZOJ3690—Choosing number
题目链接:https://vjudge.net/problem/ZOJ-3690 题目意思: 有n个人,每个人可以从m个数中选取其中的一个数,而且如果两个相邻的数相同,则这个数大于等于k,问这样的数一共有多少种选择,结果取模. 思路:可能是算递推式子的能力还不够吧?没有推出来.这里我们我们运用划分的思想定义F[i]表示有i个人且最后一个人选的数组大于k选择数量,G[i]表示有i个人且最后一个人选的数组小于等于k的数量. 我们可以得到以下递推式子: F[i]=(m-k)*(F[i-1]+G[i-1…
ZOJ 3690 Choosing number(矩阵)
Choosing number [题目链接]Choosing number [题目类型]矩阵 &题解: 这题就和已经dp极像了,所以找方程就很困难了.可以这样找: 设f(n)是前n-1个人已经完成,第n个人选>k,g(n)是前n-1个人已经完成,第n个人选<=k. 那么f(n)=f(n-1)*(m-k)+g(n-1)*(m-k) g(n)=f(n-1)*k+g(n-1)*(k-1) 最后答案是f(n)+g(n) 所以这题难就难在想公式上 [时间复杂度]\(O(logn)\) &…
ZOJ 3690 Choosing number(dp矩阵优化)
Choosing number Time Limit: 2 Seconds Memory Limit: 65536 KB There are n people standing in a row. And There are m numbers, 1.2...m. Every one should choose a number. But if two persons standing adjacent to each other choose the same number, the…
zoj 3690 Choosing number
题意 就是说给你 N 个人站成一排,现在每个人都可以选择 1-M 中间的任意一个数字,相邻的两个人数字相同,则他必须是是 > K 的 问方案总数: 方法 先求出递推式,然后用矩阵快速 mo mi 构造矩阵 时候很简单 递推方程式为 f(n) = f(n-1)*M - f( n-1 ) + f( n-2 )*( m - k ) 就是当前这个人必定是从前面那个人的所有组合数中满足条件的数量 × M 得到当前这个人的所有状态 但还需要减去 前面那个人有多少个是 以 <=K…
Choosing number ZOJ - 3690 (矩阵快速幂)
题意:n个人站成一排,每个人任意从1——m中任意取一个数,要求相邻两个人的如果数字相同,数字要大于k. 分划思想推导表达式: 假设 i 个人时.第i个人的选择有两种一种是选择小于等于k的数,另一种是大于k的数.则设这两种情况的组合数分别为F(i)和 G(i) 那么F(i)=(m-k)(F(i-1)+G(i-1)):m-k表示第i个人,选择了大于k的选择. 那么G(i)=kF(i-1)+(k-1)G(i-1): k*F(i-1),表示第i个人选的是大于k的数,而第i个人只能在0—k种选择,所…
来自 Google 的 R 语言编码风格指南
来自 Google 的 R 语言编码风格指南R 语言是一门主要用于统计计算和绘图的高级编程语言. 这份 R 语言编码风格指南旨在让我们的 R 代码更容易阅读.分享和检查. 以下规则系与 Google 的 R 用户群体协同设计而成. 概要: R编码风格约定 文件命名: 以 .R (大写) 结尾 标识符命名: variable.name, FunctionName, kConstantName 单行长度: 不超过 80 个字符 缩进: 两个空格, 不使用制表符 空白 花括号: 前括号不折行写, 后括…
ACM 矩阵题目整理
先从最基础的矩阵快速幂加速递推开始. HDU 1005 Number Sequence |f[n-2],f[n-1]|* |0 B| =|f[n-1], B*f[n-2]+A*f[n-1]|=|f[n-1],f[n]| |1 A| 建立矩阵如上然后利用快速幂求解即可.答案是mat[0][1]. #include<iostream> #include<vector> #include<cmath> #include<map> #include<alg…
2013年9月份阿里JAVA面试经历
面试时间:2013-9 面试地点:合工大 面试内容: 1. struts2怎么实现的,原理是什么 2. session是怎么实现的?存储在哪里? 3. Java怎么创建链表的? 定义一个结点类,再定义一个list,实现插入结点.删除结点.查询结点.具体实现如下: ///////////////节点////////////////////// class node { public double x; public node next; public node pre; node (double…
吴恩达机器学习笔记51-初始值重建的压缩表示与选择主成分的数量K(Reconstruction from Compressed Representation & Choosing The Number K Of Principal Components)
一.初始值重建的压缩表示 在PCA算法里我们可能需要把1000 维的数据压缩100 维特征,或具有三维数据压缩到一二维表示.所以,如果这是一个压缩算法,应该能回到这个压缩表示,回到原有的高维数据的一种近似. 所以,给定的…
吴恩达机器学习笔记47-K均值算法的优化目标、随机初始化与聚类数量的选择(Optimization Objective & Random Initialization & Choosing the Number of Clusters of K-Means Algorithm)
一.K均值算法的优化目标 K-均值最小化问题,是要最小化所有的数据点与其所关联的聚类中心点之间的距离之和,因此 K-均值的代价函数(又称畸变函数 Distortion function)为: 其中…