把x1~xn当成是1~n, 答案是不会变的. 然后直接模拟就行了......

P.S 双倍经验... BZOJ1416 && BZOJ1498

-------------------------------------------------------------------------------

#include<cstdio>
#include<cstring>
#include<algorithm>
 
using namespace std;
 
const int maxn = 20009;
 
int a[maxn], t, n, d, tot;
int p[maxn], pn, cnt0[maxn], cnt1[maxn];
bool F[maxn];
 
void Init() {
memset(F, 0, sizeof F);
pn = 0;
for(int i = 2; i < maxn; i++) {
if(!F[i])
p[pn++] = i;
for(int j = 0; i * p[j] < maxn; j++) {
F[i * p[j]] = true;
if(i % p[j] == 0) break;
}
}
}
 
int buf[10000];
void calc(int h[]) {
memset(buf, 0, sizeof buf);
buf[0] = 1;
int L = 1;
for(int i = 0; i < pn; i++)
for(int j = 0; j < h[i]; j++) {
for(int k = 0; k < L; k++) buf[k] *= p[i];
for(int k = 0; k < L; k++) if(buf[k] > 9) {
buf[k + 1] += buf[k] / 10;
buf[k] %= 10;
}
for(; buf[L] > 0; L++) if(buf[L] > 9) {
buf[L + 1] += buf[L] / 10;
buf[L] %= 10;
}
}
while(L--)
putchar(buf[L] + '0');
}
 
void mult(int x, int h[]) {
for(int i = 0; i < pn; i++) if(x % p[i] == 0)
for(; x % p[i] == 0; x /= p[i]) h[i]++;
}
 
int main() {
Init();
scanf("%d%d%d", &t, &n, &d);
for(int i = 1; i <= t; i++) {
scanf("%d", a + i);
tot += a[i];
}
while(n--) {
int x, y;
scanf("%d%d", &x, &y);
mult(a[y], cnt0);
mult(tot, cnt1);
tot += d, a[y] += d;
}
for(int i = 0; i < pn; i++) if(cnt1[i] >= cnt0[i])
cnt1[i] -= cnt0[i], cnt0[i] = 0;
else if(cnt1[i] < cnt0[i])
cnt0[i] -= cnt1[i], cnt1[i] = 0;
calc(cnt0);
putchar('/');
calc(cnt1);
return 0;
}

-------------------------------------------------------------------------------

1416: [NOI2006]神奇的口袋

Time Limit: 10 Sec  Memory Limit: 64 MB
Submit: 410  Solved: 268
[Submit][Status][Discuss]

Description

Input

Output

 0/1,概率为1 应输出1/1。

Sample Input

input 1
2 3 1
1 1
1 1
2 2
3 1

input 2
3 1 2
1 1 1
5 1

Sample Output

output 1
1/12

output 2
1/3

HINT


1≤t,n≤1000, 1≤ak ,d≤10, 1≤x1

Source

BZOJ 1416: [NOI2006]神奇的口袋( 高精度 )的更多相关文章

  1. ●BZOJ 1416 [NOI2006]神奇的口袋

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1416题解: Pòlya瓦罐模型: 给定罐子里每种颜色的球的个数A[i],按题目要求随机操作若 ...

  2. Bzoj1498&1416: [NOI2006]神奇的口袋

    什么鬼双倍经验题??? Sol 考虑在第\(k\)次摸到\(y\)的概率 如果上次摸到\(y\),目前有\(sum\)个球,\(y\)有\(a[y]\)个,那么概率就是\(\frac{a[y]+d}{ ...

  3. 【BZOJ1416/1498】【NOI2006】神奇的口袋(数论,概率)

    [BZOJ1416/1498][NOI2006]神奇的口袋(数论,概率) 题面 BZOJ1416 BZOJ1498 洛谷 题面都是图片形式是什么鬼.. 题解 考虑以下性质 1.\(x[1],x[2]. ...

  4. BZOJ 1006 [HNOI2008] 神奇的国度(简单弦图的染色)

    题目大意 K 国是一个热衷三角形的国度,连人的交往也只喜欢三角原则.他们认为三角关系:即 AB 相互认识,BC 相互认识,CA 相互认识,是简洁高效的.为了巩固三角关系,K 国禁止四边关系,五边关系等 ...

  5. 神奇的口袋(dp)

    有一个神奇的口袋,总的容积是40,用这个口袋可以变出一 些物品,这些物品的总体积必须是40. John现在有n(1≤n ≤ 20)个想要得到的物品,每个物品 的体积分别是a1,a2……an.John可 ...

  6. [codeup] 2044 神奇的口袋

    题目描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40.John现在有n个想要得到的物品,每个物品的体积分别是a1,a2--an.John可以从这些物品中选 ...

  7. dp 神奇的口袋

    有一个神奇的口袋,总的容积是40,用这个口袋可以变出一 些物品,这些物品的总体积必须是40.  John现在有n(1≤n ≤ 20)个想要得到的物品,每个物品 的体积分别是a1,a2--an.Joh ...

  8. 九度OJ 1114:神奇的口袋 (DFS、DP)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:948 解决:554 题目描述: 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40.John现在有n个 ...

  9. 九度oj 题目1114:神奇的口袋

    题目描述: 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40.John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an.John可以从这些物品中 ...

随机推荐

  1. Bootstrap 简洁、直观、强悍、移动设备优先的前端开发框架,让web开发更迅速、简单。

    http://v3.bootcss.com/ 从2.x升级到3.0版本 Bootstrap 3并不向后兼容Bootstrap v2.x.下面章节列出的内容可以作为从v2.x升级到v3.0的通用指南.如 ...

  2. JavaScript判断图片是否加载完成

    一.load事件 <!DOCTYPE HTML><html> <head>     <meta charset="utf-8">   ...

  3. Javascript 中的false,零值,null,undefined和空字符串对象

    在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象--false.0.空字符串.null和undefined.这几个对象很容易用错,因此在使用时必须得小心. 类型检测 我们下来 ...

  4. taobao面试要点

    第一: 其中有几个点必问,JVMGC深层机制.类加载,包括Tomcat和Jboss的.线程相关的如离线锁,互斥同步,java主线程和工作线程机制,concurrent包下的锁和sync关键字一些区别, ...

  5. Ubuntu 12.04 wireless networks : devices not ready (firmware missing)解决办法

    今天装了Ubuntu12.04之后,发现无线不能用. 用iwconfig查看,wlan0 项后面有内容,但是在本该显示无线列表的地方显示的是 “ wireless networks : devices ...

  6. Android Material Design之Toolbar与Palette

    转:http://blog.csdn.net/jdsjlzx/article/details/41441083 前言 我们都知道Marterial Design是Google推出的全新UI设计规范,如 ...

  7. php中__autoload()方法详解

    [导读] PHP在魔术函数__autoload()方法出现以前,如果你要在一个程序文件中实例化100个对象,那么你必须用include或者require包含进来100个类文件,或者你把这100个类定义 ...

  8. License制作

    最近,部门的产品要做license,于是上网查了一些通用软件的License做法,拿过来学习一下. 一个老外写的,很好,几乎完全涵盖了软件License的制作流程 http://afewguyscod ...

  9. JavaEE Tutorials (20) - 企业应用安全入门

    20.1企业应用的基本安全任务31620.2保护企业bean安全316 20.2.1使用声明式安全保护企业bean安全318 20.2.2通过编程方式保护企业bean安全321 20.2.3传播安全身 ...

  10. test for randomness