E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
K-based
ural1009
K-based
Numbers (递推)
设f[i][0]表示取了i个数最前面的数为0的合法数的数量,f[i][1]表示取了i个数最前面的数不为0的合法数的数量则f[i][0]=f[i-1][1]f[i][1]=(k-1)*(f[i-1][0]+f[i-1][1])边界条件f[1][0]=1f[1][1]=k-1(代码中习惯性地使用dp作为数组名,不用在意)#includeusingnamespacestd;typedeflonglong
允雨琉
·
2020-08-18 16:46
acm
ural
递推
一个算法题目的两种不同效率级别的算法对比
题目描述新成立的
K-based
王国颁布一部新的法案:一个合法的k进制数为一个不含连续两个零的k进制数。
wang_dong001
·
2016-04-24 22:00
性能
算法
C语言
VC
K-based
Numbers(Ural_1009)
Let’sconsiderK-basednumbers,containingexactlyNdigits.WedefineanumbertobevalidifitsK-basednotationdoesn’tcontaintwosuccessivezeros.Forexample:1010230isavalid7-digitnumber; 1000198isnotavalidnumber; 000
highmath_Final
·
2016-04-08 11:00
SDUT——
K-based
Numbers
原题: 题目描述 Let’s consider
K-based
numbers, containing exactly N digits.
·
2015-11-13 08:02
number
K-based
Numbers. Version 2
链接 考查大数 正好拿来学习下JAVA JAVA好高端。。 1 import java.io.*; 2 import java.math.*; 3 import java.text.*; 4 import java.util.*; 5 public class Main 6 { 7 8 public static void main(Strin
·
2015-11-13 00:26
version
递推DP URAL 1009
K-based
Numbers
题目传送门 1 /* 2 题意:n位数,k进制,求个数 3 dp[i][j] 表示i位数,当前数字为j的个数;若j==0,不加dp[i-1][0]; 4 */ 5 #include <cstdio> 6 #include <iostream> 7 #include <algorithm> 8 #include <cs
·
2015-11-11 18:53
number
URAL 1012
K-based
Numbers. Version 2(DP+高精度)
题目链接 题意 :与1009一样,不过这个题的数据范围变大。 思路:因为数据范围变大,所以要用大数模拟,用java也行,大数模拟也没什么不过变成二维再做就行了呗。当然也可以先把所有的都进行打表,不过要用三维了就 。 1 //URAL 1012 2 #include <stdio.h> 3 #include <string.h> 4
·
2015-11-11 15:48
version
URAL 1009
K-based
numbers(DP递推)
点我看题目 题意 : K进制的N位数,不能有前导零,这N位数不能有连续的两个0在里边,问满足上述条件的数有多少个。 思路 : ch[i]代表着K进制的 i 位数,不含两个连续的0的个数。 当第 i 位为0时,那么第i-1位不为0有(K-1)种放法,(k-1)*f[i-2] 当第 i-1 位为0时,第 i 位有(k-1)种放法,(k-1)*f[i-1] 1 #in
·
2015-11-11 15:39
number
K-based
Numbers. Version 3
DP+高精度+滚动数组 还是1009的题目,不过数据再大点,数组都开不下,需要滚动数组。 回想1009的递推的方式,可以看到,要知道当前位的信息,只需要知道前一位的信息即可,所以其实任何时候都只需要两位,所以我们可能用户滚动数组,不断替换,而算法思想是完全不变的 //用递推来实现,要得到当前位的信息只与前一位有关,因为用滚动数组,只保存两位,不断滚动 //dp[0][]表
·
2015-11-08 14:04
version
K-based
Numbers. Version 2
DP+高精度 (和1009是一样的题目,不过数字的位数达到了180,所以要用高精度) 同样是记忆化搜索实现,不过加入了高精度,一些细节地方就注意一下。我的代码写的不好,有点长有点乱………… #include <cstdio> #include <cstring> #define LEN 210 //高精度数组的大小 #define
·
2015-11-08 14:03
version
Ural(Timus) 1009
K-based
Numbers
DP(记忆化搜索) 第一次在Ural做题,所以选个简单的DP,无奈变量写错WA了两次,终于AC了 题意:输入n和k,表示一个n位的k进制数,这个数字要符合两个条件,没有前导0(否则怎么算是n位数呢?),不能有两个或以上连续的0,问你一共有多少个这样的n位的k进制数 这题,最直观的方法就是dfs,不断枚举,枚举到第n层就功德圆满了,然后再判断这个n位数是否符合我们的要求。但是可想而知是会超时的
·
2015-11-08 14:01
number
URAL1002——DP——
K-based
Numbers. Version 2(未AC)
Description Let’s consider
K-based
numbers, containing exactly N digits.
·
2015-11-02 16:56
version
URAL1009——DP——
K-based
Numbers
Description Let’s consider
K-based
numbers, containing exactly N digits.
·
2015-11-02 16:52
number
Timus 1009
K-based
Numbers Time Limit: 1.0 second Memory Limit: 16 MB Let’s consider
K-based
numbers,
·
2015-10-31 10:35
IM
URAL 1013
K-based
Numbers. Version 3
URAL_1013 和URAL_1009的思路是一样的,只不过需要高精度,所以就直接用java写了。具体的一些思路可以参考我的URAL_1009的题解:http://www.cnblogs.com/staginner/archive/2012/05/01/2477513.html。 如果N再大一点的话,也可以用二分矩阵
·
2015-10-31 09:15
version
URAL 1012
K-based
Numbers. Version 2
URAL_1012 和URAL_1009的思路是一样的,只不过需要高精度,所以就直接用java写了。具体的一些思路可以参考我的URAL_1009的题解:http://www.cnblogs.com/staginner/archive/2012/05/01/2477513.html。 import java.math.BigInteger; import
·
2015-10-31 09:15
version
URAL 1009
K-based
Numbers
URAL_1009 其实本质只有两类数,0和非0,所以可以用f[i][0]、f[i][1]表示递推到第i位时为0以及非0的情况种数进行dp。 #include<stdio.h> #include<string.h> #define MAXD 20 int N, K; long long f[MAXD][2]; void
·
2015-10-31 09:14
number
浅谈 BigInteger
K-based
numbers. Version 3 1
·
2015-10-30 17:32
BIgInteger
浅谈 BigInteger
K-based
numbers. Version 3 1012.
K-based
numbers. Version 2 1153. Supercomputer 1108. Her
·
2015-10-30 10:13
BIgInteger
K-based
Numbers. Version 2(dp)
跟Vresion 1一样,就是加了高精度。表示高精度还是不熟。。。 My Code: #include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 1000;void add(int a[], int b[], int res[]){
·
2015-10-21 11:08
version
K-based
Numbers. Version 3(dp + 高精度)
昨晚想着做了的,到宿舍乱的又没心情了。发现高精度真的不熟,各种错误,Crash, MLE, WA。。。最后看到有人一个数组空间存两位数,精度为100时才不MLE。 #include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 1000;int
·
2015-10-21 11:08
version
K-based
Numbers
/*这题貌似就是找规律。f1 = k-1;f2 = k*k - k;f3 = (f1 + f2) * (k-1);//(k-1)表示首位不为0的个数,比如n = 3时, 首位可能是1, 2, 3, 4, 5, 6, 7, 8, 9。My Code:*/#include <iostream>#include <cstdio>using namespace std;int ma
·
2015-10-21 11:07
number
URAL 1009
K-based
Numbers (DFS)
#include intnumOfDigits,base; intresult; voidisValid(intdigits,intpreDigit){ if(digits>numOfDigits){ result++; return; } intdigit; for(digit=0;digit
tiutiu2011
·
2015-09-22 09:00
DFS
Numbers
1009
ural
K-based
URAL 1009
K-based
Numbers (DP动态规划)
#include intnumOfDigits,base; //result[digits]表示N为digits时的有多少个有效数字 intresult[18]; intmain(){ scanf("%d%d",&numOfDigits,&base); //最高位非0 result[1]=base-1; result[2]=(base-1)*base; intdigits; for(di
tiutiu2011
·
2015-09-22 09:00
dp
动态规划
Numbers
1009
ural
K-based
URAL - 1009 -
K-based
Numbers (简单DP)
1009.K-basedNumbersTimelimit:1.0secondMemorylimit:64MBLet’sconsider K-basednumbers,containingexactly N digits.WedefineanumbertobevalidifitsK-basednotationdoesn’tcontaintwosuccessivezeros.Forexample:10
u014355480
·
2015-03-29 21:00
dp
ACM
ural
K-based
Numbers
题意是让你求在所有的K进制的数中有几个是valid(合格?及格?(╯‵□′)╯︵┻━┻都是什么鬼,原谅我的英语水平吧Orz关于valid的定义是不能有连续的0 还有就是不能有前导零-----------------------------------------------------终于解释完了题意的分界线--------------------------------------把这题考虑成一
a1s4z5
·
2015-01-22 16:00
Ural 1009
K-based
Numbers(DP)
题目地址:Ural1009DP水题。。二维DP,第一维只用0和1来表示0和非零就可以。代码如下:#include #include #include #include #include #include #include #include #include #include #include usingnamespacestd; #defineLLlonglong LLdp[3][20]; in
u013013910
·
2014-10-03 16:00
编程
算法
dp
C语言
ACM
K-based
Numbers(DP)
DescriptionLet’sconsider K-basednumbers,containingexactly N digits.Wedefineanumbertobevalidifits K-basednotationdoesn’tcontaintwosuccessivezeros.Forexample:1010230isavalid7-digitnumber;1000198isnotava
immiao
·
2014-01-26 10:00
K-based
Numbers. Version 2
题意:问K进制的N位数中没有连续的0的数的个数。 2≤ K ≤10; N ≥2; N + K ≤180.分析:和1009方法一样,但要用高精度计算加,乘。Code:#include #include #include #include #include #include #include #include #include #include #defineLLlonglong #definepbp
HRHACMER
·
2013-08-06 10:00
SDUT――
K-based
Numbers
原题:题目描述Let’sconsiderK-basednumbers,containingexactlyNdigits.WedefineanumbertobevalidifitsK-basednotationdoesn’tcontaintwosuccessivezeros.Forexample:(1)1010230isavalid7-digitnumber;(2)1000198isnotavali
bingsanchun
·
2013-04-04 13:00
example
contain
EXACTLY
Numbers
amount
K-based
Numbers. Version 3
题目:先定义有效的数:第一位不能为0,不能存在相邻的0.问N位K进制数有这样的有效数的数目.递归公式:f(k)=(k-1)*(f(k-1)+f(k-2))对k位的数进行分析,第一位有(k-1)种选择,第二位如果是0,则有f(k-2)种情况,第二位如果非0,正好有f(k-1)种情况.#include #include #include constintMAX=3010; intdp[1800][MA
weiyidemaomao
·
2012-04-13 11:00
URAL1009
K-based
Numbers,简单DP
很简单的DP题,对于K进制,如果运算到第i位,则第i位只有k-1可以选择,然后分i-1位是0还是非零讨论。/******************************************************************************* #Author:NeoFung #Email:neosfung@gmail.com #Lastmodified:2011-11-22
neofung
·
2011-11-22 21:00
K-based
Numbers
K-based
Numbers Time Limit: 1.0 second Memory Limit: 16 MB Let’s consider
K-based
numbers, containing
格桑花
·
2011-06-06 15:00
算法
F#
K-based
Numbers. Version 3
和前两题一样的DP,不过还是得用大数,不过不能打表了,要不会超内存。。。>#include#include#include#include#include#include#includeusingnamespacestd;constintMAX=3010;shortdp[1800][MAX];shortlen[1800];intmain(){intn,K;memset(dp,0,sizeof(dp
zxy_snow
·
2011-05-01 11:00
K-based
Numbers. Version 2
和1009一样,只不过需要用大数~~!! #include#include#include#include#include#include#include#includeusingnamespacestd;constintMAX=1010;intdp[20][200][MAX];intlen[20][200];intmain(){intn,k;memset(dp,0,sizeof(dp));for
zxy_snow
·
2011-05-01 11:00
K-based
Numbers
开始跟着BTW做DP题。。 计算几何我还会一直学的,DP也同步学吧。 BTW推荐的URAL这个。。。分类里有几十道DP。。。任重而道远~! 这个水题哈,想了会儿,拿K=2模拟了下,发现基本和斐波那契数列差不多。在n,k下,第二位为1的情况等于在n-2,k的情况+n-1,k的情况,再乘以首位不为0的情况(k-1)。。。开始一直拿2模拟的,忘记乘以首位不为0的了,N,K输入次序搞反了,WA得一塌糊涂T
zxy_snow
·
2011-05-01 10:00
Numbers
Ural 1013
K-based
numbers. Version 3
Ural1013K-basednumbers.Version3通过这相似的三道题体会到了“量变引起质变”的道理。第一题数据规模很小,当然可以DP,但是搜索就足够了;第二题规模大了不少,高精度是必须的,同时需要用动态规划,递推和记忆化两种形式,我一直偏爱记忆化,选择了记忆化搜索;第三题规模继续增大,为了节省空间,高精度用到了压位存储,同时记忆化不再可行!因为会造成栈崩溃!改用递推。以下是我的代码:#
心如止水
·
2010-09-10 21:00
Ural 1012
K-based
numbers. Version 2
Ural1012K-basednumbers.Version2和Ural1009一样,不过需要用到高精度,而且规模比之前大了不少,用了记忆化。一开始测试数据的时候试了一个“10170”的数据,发现结果很小,以为开100的数组应该够了。后来才发现我n和k弄反了!WA了一次!给出“17010”这个数据的结果,共170位。可以与自己的结果进行比对:1914092911488165346247604168
心如止水
·
2010-09-10 13:00
Ural 1009
K-based
numbers
Ural1009K-basednumbers简单的组合计数,算是DP吧。很简单的,分“上一位数是0”和“上一位数不是0”讨论即可。同时注意到第1位不能是0。以下是我的代码:#includeusing namespace std;long n,k;long dp(long i,long j){ if(i==1) return (k-1)*dp(i+1,1); if(i==n) {
心如止水
·
2010-07-09 15:00
URAL 1009 -
K-based
numbers
1 /* Accepted 0.001 196 KB */ 2 #include 3 4 using namespace std; 5 6 int main() 7 { 8 int n, k; 9 unsigned long long cnt[20][2] = {0};10 11 cin >> n >> k;12 cnt[1][1] = k - 1;
superman
·
2008-04-08 15:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他