链接:https://www.nowcoder.com/acm/contest/203/D
来源:牛客网

Shopping
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld

题目描述

你要买n件物品,其中有一些是凳子。
商场正在举行促销活动,如果购物车中有至少一个凳子,那么你可以半价购买这个购物车中最贵的一个物品。
你有m辆购物车,请最小化你的花费。

输入描述:

第一行一个整数t表示数据组数 (1 ≤ t ≤ 100)。
每组数据第一行两个整数n,m (1 ≤ n,m ≤ 1000),接下来n行每行两个整数a

i

,b

i

,分别表示第i件物品的价格以及它是否是凳子 (1 ≤ a

i

 ≤ 10

5

, 0 ≤ b

i

 ≤ 1)。

输出描述:

每组数据输出一行一个实数表示最小花费,保留一位小数。
示例1

输入

复制

2
5 1
1 0
2 1
3 1
4 0
5 0
5 10
1 0
2 1
3 1
4 0
5 0

输出

复制

12.5
10.5
 #include<bits/stdc++.h>
using namespace std;
double a[],b[];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<n;i++)
{
scanf("%lf%lf",&a[i],&b[i]);
}
sort(a,a+n);
int sum=;
for(int i=;i<n;i++)
{
if(b[i]==)
{
sum++;
}
}
if(sum<=m)
{
for(int i=n-;i>=n-sum;i--)
{
a[i]/=;
}
}
else
{
for(int i=n-;i>=n-m;i--)
{
a[i]/=;
}
}
double ans=;
for(int i=;i<n;i++)
{
// cout<<a[i]<<" ";
ans+=a[i];
}
printf("%.1f\n",ans);
}
return ;
}

链接:https://www.nowcoder.com/acm/contest/203/H
来源:牛客网

Travel
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld

题目描述

魔方国有n座城市,编号为。城市之间通过n-1条无向道路连接,形成一个树形结构。
澜澜打算在魔方国进行m次旅游,每次游览至少一座城市。为了方便,每次旅游游览的城市必须是连通的。此外,澜澜希望游览所有城市恰好一次。
澜澜想知道有多少种旅游方案满足条件,两个方案不同当且仅当存在某一次旅游游览了不同的城市。
澜澜不会数数,所以只好让你来帮他数方案。

输入描述:

第一行一个整数t表示数据组数 (1 ≤ t ≤ 100)。
每组数据第一行两个整数n,m

,接下来n-1行每行两个整数a

i

,b

i

表示一条道路 (1≤ a

i

,b

i

≤ n)。

输出描述:

每组数据输出一行一个整数表示方案数对10

9

+7取模的结果。
示例1

输入

复制

2
3 1
1 2
1 3
3 2
1 2
1 3

输出

复制

1
4
思路:组合数C(n-1,m-1)*m! 代码:
 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = << ;
const int mod = ;
int t, n, m, ta, tb;
ll c[maxn];
ll qq(ll a, ll b, ll c)
{
ll ans = ;
a = a % c;
while (b>)
{
if (b % == )
ans = (ans * a) % c;
b = b / ;
a = (a * a) % c;
}
return ans;
} ll C(ll n, ll m)
{
return c[n] * qq(c[m] * c[n - m] % mod, mod - , mod) % mod;
}
int main(void)
{
scanf("%d", &t);
c[] = ;
for (int i = ; i <= maxn; i++)
{
c[i] = c[i - ] * i%mod;
}
while (t--)
{
scanf("%d%d", &n, &m);
for (int i = ; i < n - ; i++)
scanf("%d%d",&ta,&tb);
if (m == )
{
printf("1\n");
continue;
}
ll ans = C(n - , m - );
ans = (ans*c[m]) % mod;
cout << ans << endl;
}
return ;
}

牛客网国庆集训派对Day3题目 2018年的更多相关文章

  1. 牛客网国庆集训派对Day6 题目 2018年

    链接:https://www.nowcoder.com/acm/contest/206/A来源:牛客网 Birthday 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576 ...

  2. 牛客网国庆集训派对Day5 题目 2018年

    链接:https://www.nowcoder.com/acm/contest/205/L来源:牛客网参考博客:https://blog.csdn.net/HTallperson/article/de ...

  3. 牛客网国庆集训派对Day4题目 2018年

    链接:https://www.nowcoder.com/acm/contest/204/A来源:牛客网 深度学习 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他 ...

  4. 2019牛客国庆集训派对day3 买一送一

    题目链接: 题意:有n个点,n-1条单向边,每个点都销售一类商品 问从点1开始走,买第一样商品类型为x,买第二样商品类型为y,问不同有序对<x,y>的数量 解法: col[i]表示这个点的 ...

  5. 牛客国庆集训派对Day3 B Tree

    Tree 思路: 树形dp 注意0不存在逆元,任何一个数乘以0就变成0了,就没有价值浪,所以要暴力转移 代码: #pragma GCC optimize(2) #pragma GCC optimize ...

  6. 牛客国庆集训派对Day3 I Metropolis

    Metropolis 思路: 多源点最短路 只要两个不同源点的最短路相遇,我们就更新两个源点的答案 代码: #pragma GCC optimize(2) #pragma GCC optimize(3 ...

  7. 牛客国庆集训派对Day3 A Knight

    Knight 思路: bfs打表找规律 如下图 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) ...

  8. 牛客国庆集训派对Day3 G Stones

    Stones 思路: sg函数打表找规律 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #in ...

  9. 牛客国庆集训派对Day3 Solution

    A    Knight 留坑. B    Tree 思路:两次树形DP,但是要考虑0没有逆元 可以用前缀后缀做 #include <bits/stdc++.h> using namespa ...

随机推荐

  1. 调试大叔V2.1.0(2018.12.17)|http/s接口调试、数据分析程序员辅助开发神器

    2018.12.17 - 调试大叔 V2.1.0*升级http通讯协议版本,完美解决Set-Cookie引起的系列问题:*新增Content-Type编码格式参数,支持保存(解决模拟不同网站或手机请求 ...

  2. docker save和docker export的区别

    docker save保存的是镜像(image),docker export保存的是容器(container): docker load用来载入镜像包,docker import用来载入容器包,但两者 ...

  3. WPF 访问外部的xaml文件

    原文:WPF 访问外部的xaml文件 今天做主题时,需要访问外部的xaml文件,方法: using (FileStream s = new FileStream("C:\\Control.x ...

  4. Linux命令学习笔记2(mysql安装和mysql-python安装)

    linux下 强制安装 rpm安装包(切换到root用户):  rpm -ivh bluefish-shared-data-2.2.7-1.el6.noarch.rpm --nodeps --forc ...

  5. 数据增强利器--Augmentor

    最近遇到数据样本数目不足的问题,自己写的增强工具生成数目还是不够,终于在网上找到一个数据增强工具包,足够高级,足够傻瓜.想要多少就有多少!再也不怕数据不够了! 简介 Augmentor是一个Pytho ...

  6. Codeforces 1155 D Beautiful Array DP,最大子段和

    题意 给出一个长度为\(n\)的数列和数字\(x\),经过最多一次操作将数列的一个子段的每个元素变为\(a[i]*x\),使该数列的最大子段和最大 分析 将这个数列分为3段考虑,第一段和第三段是未修改 ...

  7. bzoj 2238 Mst

    显然先求出最小生成树 如果删的是非树边就不用管,还是能取最小生成树 如果删的是树边就有非树边可以替代它 反向考虑,每条非树边可以替代最小生成树上一条路径的边 所以树剖加线段树,对每条非树边在树上更新对 ...

  8. Object C学习笔记10-静态方法和静态属性

    在.NET中我们静态使用的关键字static有着举足轻重的作用,static 方法可以不用实例化类实例就可以直接调用,static 属性也是如此.在Object C中也存在static关键字,今天的学 ...

  9. Halcon中循环的相关算子

    条件<condition> ,<condition> 内为计算成an integer or boolean value的表达式. 表达式的值1则条件为真,否则为假. 1.if( ...

  10. alibaba/fescar 阿里巴巴 开源 分布式事务中间件

    Fescar 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景下面临的分布式事务问题. 示例:https://github.com/windwant/ ...