1282专题

LightOJ 1282 Leading and Trailing

题意:求n^k的前三位和后三位。(n,k为大数) 分析: 后三位可以用快速幂得到(不足三位要补领0)。重点是求前三位。 n可以写成10^a(a为小数)的形式。因此 n^k = 10^(ak). 而ak可以写成x+y,其中x为ak的整数部分,y为ak的小数部分.其中x决定了位数,y决定了值。 因此只需求出y。 而n=10^a ,所以 a=log10(n) 这里用到了fmod函数,fmod(

Codeforces 1282 E The Cake Is a Lie —— 拓扑

This way 题意: 现在有一个正n边型的蛋糕,每次都会在蛋糕的点上切下一个三角形,现在给你每个三角形的三个点的下标,问你这个蛋糕下标排列的顺序以及按照什么顺序切下这些三角形的。 题解: 由于最外面的边只会出现一次,切割边会出现两次,所以我们计算每条边出现的次数,然后做一个dfs就可以求出下标排列的顺序。 我们可以发现每次切下一个三角形的时候一定有一个点在接下来只出现一次,于是我们只需

DUTOJ 1282: Zeratul与a+b=c bitset 小内存数组

问题1282--Zeratul与a+b=c 1282: Zeratul与a+b=c 时间限制: 1 Sec   内存限制: 32 MB 提交: 148   解决: 25 [ 提交] [ 状态] [ 讨论版] [命题人: Zeratul] 题目描述 判断一个数列中是否有两个数加起来等于cc,含义见Description。 输出 如果数列中存在两个数加起来等于c,输出YES,否则

kuangbin专题十四 数论基础 LightOJ 1282

题意: 给定两个数n,k 求n^k的前三位和最后三位。 题解: 后面三位可以用快速幂求,难就难在前面的三位怎么做了,看了很多,发现有个大佬用除法去求出前三位,ORZ,有个坑点就是后三位记得补零,和如果你是用除法去求前面三位的记得用double去做,因为你如果用long long int 去做的话,除的时候会去掉小数部分的,会导致后面的数无法进位的。然后再你返回double值的时候可以有两种操

洛谷 1282 多米诺骨牌

http://www.luogu.org/problem/show?pid=1282# 看了题解后明白的DP。。。 s1表示正差值的和,s2表示负差值绝对值的和,now表示初始值。 因为C++数组下标不能为负数,可以整体+s2,f[i]表示i-s2的最小翻转次数。 题解上说要讨论a[i]的正负,没讨论会被卡掉一个点,原因大概是当a[i]>0时 j-2*a[i]小于j,从小到大枚举可以保证