BZOJ 2296【POJ Challenge】随机种子(构造)

【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=2296

【题目大意】 

  给出一个数x,求一个10的16次以内的数使得其被x整除并且数字包含0到9所有数字

【题解】

  我们构造数前10位为0到9,利用后面六位补充使得其为x的倍数,x为10的6次方以内,
  因此除x=0的特殊情况外一定存在解。

【代码】

#include <cstdio>
using namespace std;
int T,x;
int main(){
    scanf("%d",&T);
    while(T--){
        scanf("%d",&x);
        if(x)printf("1234567890%06d\n",(x-1234567890000000ll%x)%x);
        else printf("-1\n");
    }return 0;
}
时间: 2024-12-28 01:21:19

BZOJ 2296【POJ Challenge】随机种子(构造)的相关文章

[BZOJ2296] [POJ Challenge] 随机种子

Description 1tthinking除了随机算法,其他什么都不会.但是他还是可以ac很多题目,他用的是什么呢?他会选择一个好的随机种子,然后输出答案.往往他选择的一个好的种子可以有99%的概率ac题目. 他会按照下面的规则选择一个种子.首先1tthinking有自己喜欢的一个幸运数字 x.然后他会找一个数字 a 使得 (1)a is a 是 x 的倍数 (2) a 的十进制表示包含0到9. 举个例子, 如果 x = 1, 那么 9182736450 就是一个1tthinking需要的随机

BZOJ 2287 POJ Challenge 消失之物

BZOJ题目不完整,看了看题解.发现他们都要取模10,还以为是dp的限制.改了两小时,之后猛然发现.卧槽原本我少了一个取模. 写法1:暴力写法最简单的想法(只要你会背包dp)我在枚举每次不选哪个物品做01背包,时间复杂度 O(N*N*M) 卡一卡常就跑过去了 #include <cstdio> #include <algorithm> #include <cstring>    int n,m; int w[3005]; int dp[4000005];    int

BZOJ 2287 POJ Challenge 消失之物 分治+背包

题目大意:给定n个物品,每个物品有一个体积,对于所有的1≤i≤n,1≤j≤m输出在不使用第i个物品的情况下装满大小为j的背包的方案数 我这傻逼居然真的去写了分治背包-- 第i个物品存在的时间为[1,i?1]和[i+1,n]两个区间 然后分治-- 时间复杂度O(n2logn) 黄学长我仰慕您 #include <vector> #include <cstdio> #include <cstring> #include <iostream> #include &

BZOJ2296: 【POJ Challenge】随机种子

2296: [POJ Challenge]随机种子 Time Limit: 1 Sec  Memory Limit: 128 MBSec  Special JudgeSubmit: 114  Solved: 54[Submit][Status] Description 1tthinking除了随机算法,其他什么都不会.但是他还是可以ac很多题目,他用的是什么呢?他会选择一个好的随机种子,然后输出答案.往往他选择的一个好的种子可以有99%的概率ac题目. 他会按照下面的规则选择一个种子.首先1tt

【BZOJ 2288】 2288: 【POJ Challenge】生日礼物 (贪心+优先队列+双向链表)

2288: [POJ Challenge]生日礼物 Description ftiasch 18岁生日的时候,lqp18_31给她看了一个神奇的序列 A1, A2, ..., AN. 她被允许选择不超过 M 个连续的部分作为自己的生日礼物. 自然地,ftiasch想要知道选择元素之和的最大值.你能帮助她吗? Input 第1行,两个整数 N (1 ≤ N ≤ 105) 和 M (0 ≤ M ≤ 105), 序列的长度和可以选择的部分. 第2行, N 个整数 A1, A2, ..., AN (0

BZOJ 2287 【POJ Challenge】消失之物

2287: [POJ Challenge]消失之物 Description ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN. 由于她的疏忽, 第 i 个物品丢失了. “要使用剩下的 N - 1 物品装满容积为 x 的背包,有几种方法呢?” -- 这是经典的问题了.她把答案记为 Count(i, x) ,想要得到所有1 <= i <= N, 1 <= x <= M的 Count(i, x) 表格. Input 第1行:两个整数 N (1 ≤ N ≤ 2

BZOJ 2287: 【POJ Challenge】消失之物( 背包dp )

虽然A掉了但是时间感人啊.... f( x, k ) 表示使用前 x 种填满容量为 k 的背包的方案数, g( x , k ) 表示使用后 x 种填满容量为 k 的背包的方案数. 丢了第 i 个, 要填满容量为 k 的背包 , 则 ans( i , k ) = ∑ f( i - 1, h ) * g( i + 1 , k - h ) ( 0 <= h <= k ) 这样就转化为经典的背包问题了 f( x , k ) = f( x - 1 , k ) + f( x - 1 , k - w( x

不要随便设置随机种子

随机数在太多的地方使用了,比如加密.混淆数据等,我们使用随机数是期望获得一个唯一的.不可仿造的数字,以避免产生相同的业务数据造成混乱.在Java项目中通常是通过Math.random方法和Random类来获得随机数的,我们来看一段代码: public class Client { public static void main(String[] args) { Random r = new Random(); for(int i=1;i<4;i++){ System.out.println(&quo

BZOJ2293: 【POJ Challenge】吉他英雄

2293: [POJ Challenge]吉他英雄 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 80  Solved: 59[Submit][Status] Description 1tthinking 特别喜欢玩‘guitar hero’. 现在有 N (2 ≤ N ≤ 50) 首歌在这个游戏中,他们被标为 1 到 N. 游戏会随机把歌曲分组 P. 更详细的说, 对于 P = <P1, P2, ... PN>, 游戏会在第 i 首之后播放第

java中Random随机种子使用

在java中,通过Random生成随机数时,如果设置随机种子,则相同的种子,产生的随机数相同.若不设置则每次随机的不同. Random rnd = new Random(); rnd.setSeed(10);//用于设置种子. rnd.nextInt();// 用于产生随机数. rnd.nextInt(10); // 产生(0-9)数字.