B 君的任务(task)
【题目描述】
与君初相识,犹如故人归。
B 君看到了Z 君的第一题,觉得很难。
于是自己出了一个简单题。
你需要完成n 个任务,第i 任务有2 个属性ai; bi。其中ai 是完成这
个任务所需要花费的时间,bi 为如果你在t 时间完成该任务,那么你受到的
损失便是bit。
初始时间是0,你最终收到的损失等于每个任务造成的损失之和,你需
要最小化自己受到的损失。
你只能一个任务接着一个任务的完成,不能同时做多个任务,所以说相
当于你只需要决定一个任务完成的顺序。
【输入格式】
第一行一个整数n。
以下n 行,每行两个整数ai; bi。
【输出格式】
一行一个整数表示答案。
【样例输入】
4
1 4
2 3
3 2
4 1
【样例输出】
35

【数据规模与约定】
对于100% 的数据,满足1 n 105; 0 ai 103; 0 bi 103。
对于30% 的数据,满足1 n 10。
对于70% 的数据,满足1 n 103。
数据没有梯度。

【题解】

国王游戏弱化版。

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm> inline void read(long long &x)
{
x = ;char ch = getchar(), c = ch;
while(ch < '' || ch > '') c = ch, ch = getchar();
while(ch <= '' && ch >= '') x = x * + ch - '', ch = getchar();
if(c == '-')x = -x;
} const long long INF = 0x3f3f3f3f;
const long long MAXN = + ; struct Node
{
long long a,b;
Node(long long _a, long long _b){a = _a;b = _b;}
Node(){}
}node[MAXN]; long long cmp(Node t1, Node t2)
{
return t1.a * t2.b < t2.a * t1.b;
} long long n;
long long T, ans; int main()
{
read(n);
for(register long long i = ;i <= n;++ i)
read(node[i].a), read(node[i].b);
std::sort(node + , node + + n, cmp);
for(register long long i = ;i <= n;++ i)
{
T += node[i].a;
ans += T * node[i].b;
}
printf("%lld", ans);
return ;
}

T1

B 君的病症(ocd)
【题目描述】
享国之日浅,国家无事。
B 君看到了Z 君的第二题,觉得很难。
于是自己出了一个简单题。
大A 是一名强迫症患者,现在他要给一群带颜色的珠子排成一列,现
在有n 种颜色,其中第i 种颜色的珠子有ai 个。要求排列中第i 种颜色
珠子的所有珠子,一定要排在第i + 1 种颜色的第一个和最后一个珠子之
间。问有多少种排列珠子的方案,因为方案数会很大,所以请输出答案对
1000000007 取模之后的结果。
【输入格式】
第一行一个整数n。
以下n 行,每行一个整数ai。
【输出格式】
一行一个整数表示答案。
【样例输入】

【样例输出】

【数据规模与约定】
对于100% 的数据,满足1 n 104; 2 ai 15。
对于70% 的数据,满足1 n 102。

【题解】

会了上次模拟的那个这个也会,详见上一篇NOIP模拟博客

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm> inline void read(long long &x)
{
x = ;char ch = getchar(), c = ch;
while(ch < '' || ch > '') c = ch, ch = getchar();
while(ch <= '' && ch >= '') x = x * + ch - '', ch = getchar();
if(c == '-')x = -x;
} const long long INF = 0x3f3f3f3f;
const long long MAXN = + ;
const long long MOD = ; long long n,num[MAXN],sum[MAXN],f[MAXN]; long long pow(long long a, long long b)
{
long long r = , base = a%MOD;
for(;b;b >>= )
{
if(b & )r *= base, r %= MOD;
base *= base, base %= MOD;
}
return r;
} long long ni(long long a)
{
return pow(a, MOD - );
} long long C(long long n, long long m)
{
return f[n] * ni(f[n - m])%MOD * ni(f[m])%MOD;
} int main()
{
read(n);
for(register long long i = ;i <= n;++ i)
read(num[i]), sum[i] = sum[i - ] + num[i];
f[] = ;
for(register long long i = ;i <= MAXN;++ i)
f[i] = f[i - ] * i % MOD;
long long ans = ;
for(register long long i = ;i <= n;++ i)
ans = ans * C(sum[i] - , num[i] - ) % MOD;
printf("%lld", ans);
return ;
}

T2

B 君的方差(variance)
【题目描述】
相逢是问候,分手是祝愿。
B 君看到了Z 君的第三题,觉得很难。
于是自己出了一个简单题。
有一个长度为n 的数组faig,下标从1 开始。你需要支持2 种操作。
1. 1 x y,将第x 个元素修改为y。
2. 2 l r,询问下标l 到r 之间所有数的方差,因为方差可能不是整数,
所以输出时请乘(r

NOIP模拟题17.9.26的更多相关文章

  1. 【入门OJ】2003: [Noip模拟题]寻找羔羊

    这里可以复制样例: 样例输入: agnusbgnus 样例输出: 6 这里是链接:[入门OJ]2003: [Noip模拟题]寻找羔羊 这里是题解: 题目是求子串个数,且要求简单去重. 对于一个例子(a ...

  2. NOIP模拟题汇总(加厚版)

    \(NOIP\)模拟题汇总(加厚版) T1 string 描述 有一个仅由 '0' 和 '1' 组成的字符串 \(A\),可以对其执行下列两个操作: 删除 \(A\)中的第一个字符: 若 \(A\)中 ...

  3. 9.9 NOIP模拟题

    9.9 NOIP模拟题 T1 两个圆的面积求并 /* 计算圆的面积并 多个圆要用辛普森积分解决 这里只有两个,模拟计算就好 两圆相交时,面积并等于中间两个扇形面积减去两个三角形面积 余弦定理求角度,算 ...

  4. 8.22 NOIP 模拟题

      8.22 NOIP 模拟题 编译命令 g++ -o * *.cpp gcc -o * *.c fpc *.pas 编译器版本 g++/gcc fpc 评测环境 位 Linux, .3GHZ CPU ...

  5. NOIP模拟测试17&18

    NOIP模拟测试17&18 17-T1 给定一个序列,选取其中一个闭区间,使得其中每个元素可以在重新排列后成为一个等比数列的子序列,问区间最长是? 特判比值为1的情况,预处理比值2~1000的 ...

  6. noip模拟题题解集

    最近做模拟题看到一些好的题及题解. 升格思想: 核电站问题 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定 ...

  7. NOIP 模拟题

    目录 T1 : grid T2 : ling T3 : threebody 数据可私信我. T1 : grid 题目:在一个\(n*n\)的方格中,你只能斜着走.为了让问题更简单,你还有一次上下左右走 ...

  8. 9.22 NOIP模拟题

    吉林省信息学奥赛 2017 冬令营                                                                                    ...

  9. Noip模拟83 2021.10.26

    T1 树上的数 有手就能在衡中$OJ$上过,但是$WaitingCoders$不行,就是这样 必须使用$O(n)$算法加上大力卡常,思路就是找子树内没更新的更新,更新过了直接$return$ 1 #i ...

随机推荐

  1. Hystrix容错处理

    如果服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,直接提供者响应或超时.在高负载场景下,如果不做任何处理,此类问题可能会导致服务消费者的资源耗竭甚至整个系统的崩溃.这时,就需要进行容 ...

  2. 微信公众号 SVG长按互动

    <section class="" style="display: block;width: 100%;height:667px;overflow:hidden;m ...

  3. day 45 前端CSS

      前端CSS   CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式 ...

  4. 图解SQL的Join

    原文地址:http://coolshell.cn/articles/3463.html 对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的 ...

  5. diskpart

    比如格式化成fat32 format fs=fat32 quick 比鼠标方便 如何使用: 打开cmd输入diskpart进入命令 首先 list disk 然后 然后 clean 然后 create ...

  6. 【51nod 1355】 斐波那契数的最小公倍数

    题目 51nod的数学题都还不错啊 首先直接算显然是没有办法算的,因为\(fib\)的lcm这个东西还是太鬼畜了 我们考虑到\(fib\)数列的一个非常好的性质是\(gcd(fib_i,fib_{j} ...

  7. Groupadd- Linux必学的60个命令

    1.作用 groupadd命令用于将新组加入系统. 2.格式 groupadd [-g gid] [-o]] [-r] [-f] groupname 3.主要参数 -g gid:指定组ID号. -o: ...

  8. [JZOJ5969] 世界线修理(欧拉回路)

    题目 描述 > 题目大意 给你两棵树,让你对每个点赋权,使得在两棵树中的任意子树的和绝对值为111. 比赛思路 其实我一开始理解错题意了-- 正解 首先,我们可以判断每个点权的奇偶性. 如果一个 ...

  9. 巧用 position:absolute

    1.跟随性 下面这种方法更加简便以及更方便维护, 例如“西部世界”,由于不用将父元素设为position:relative,position:absolute的位置也就不用根据文字多少而重新进行top ...

  10. Linux下IP修改后重启服务器 oralce 出错(监听无法启动)

    针对linux下修改IP导致的Oracle不能启动问题的解决 主要修改/etc/hosts配置文件.修改前配置: # Do not remove the following line, or vari ...