牛客每日练习----珂学送分,捡石头,良神爱购物
大提琴的声音就像一条河,左岸是我无法忘却的回忆,右岸是我值得紧握的璀璨年华,中间流淌的,是我年年岁岁淡淡的感伤
链接:https://ac.nowcoder.com/acm/problem/14378
来源:牛客网
题目描述
给你一个长 n 的序列,m 次查询
每次查询给一个 x,然后:
从序列的最左端 1 开始,每次随机的选择一个右端点 r,如果两个端点间的区间和不超过 x ,就进行一次分割,然后把左端点变成 r + 1, 否则一直随机下去。
问这样分割出来的期望段数
输入描述:
第一行两个数 n,m 之后一行 n 个数表示这个序列 之后m行每行一个数 x,表示求每段的和不大于 x 的情况下切割的期望段数
输出描述:
m 行,每行一个保留到小数点后2位的数表示答案 如果无论如何都没有合法的切割方案,输出"YNOI is good OI!",不含引号
示例1
输入
复制
5 6 1 2 3 4 5 4 5 6 7 8 9
输出
复制
YNOI is good OI! 4.25 3.83 3.58 3.58 3.11
说明
对于30%的数据,n , m <= 10 对于60%的数据,n <= 1000 , m <= 10 对于80%的数据,n <= 100000 , m <= 100 对于100%的数据,n <= 100000 , m <= 500 , 0 <= a[i] <= 1000 , x <= 1000000 PS:数据直接随的,不知道有没有乱搞方法~
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
double f[100010],sf[100010];
int n,m,mx,x,sa[100010],a[100010];
int main()
{scanf("%d%d",&n,&m);for(int i=1; i<=n; i++){scanf("%d",&a[i]);mx=max(mx,a[i]);}for(int i=n; i>=1; i --)sa[i]+=sa[i + 1]+a[i];while(m --){scanf("%d",&x);if(mx>x)printf("YNOI is good OI!\n");else{int j=n;for(int i=n; i>=1; i--){while(sa[i]-sa[j+1]>x)j --;double len=j-i+1;f[i]=(sf[i+1]-sf[j+2])/len+1;sf[i]=sf[i + 1]+f[i];}printf("%.2f\n",f[1]);}}return 0;
}
链接:https://ac.nowcoder.com/acm/problem/14388
来源:牛客网
题目描述
有两个小孩子在玩游戏,他们的游戏规则是这样的:
地上有n块石头(n>0),假设两个孩子的名字分别是first,second。first和second轮流从石头堆中取出一定数量的石头(取出的石头的数量 i 要求最少一个,最多m个),拿到最后一块石头的孩子获得胜利,假设两个孩子都很聪明,现在已知n和m,请问谁会获得胜利?
输入描述:
输入两个数字n,m
输出描述:
输出first或者second,表示获胜者
示例1
输入
复制2 3
2 3
输出
复制first
first
说明
first孩子直接取完所有的石头,获胜
示例2
输入
复制
3 2
输出
复制
second
说明
不管first怎么取,second总能取到最后的石头
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int n,m;
int main()
{scanf("%d%d",&n,&m);if(n%(m+1)!=0)printf("first");elseprintf("second");return 0;
}
链接:https://ac.nowcoder.com/acm/problem/14401
来源:牛客网
题目描述
双12马上要来了,良神要备战双12的购物行动,现在已知商家给出的优惠政策如下:
当你每次下单不少于12件物品时,会免去这些物品中价格最低的一件物品的钱,每次下单会有12块钱运费。
现在给出良神购物车所有的物品价格的情况下,请选择相应策略使得购买所有物品,并使付的钱最少,输出最小支付金额。
输入描述:
第1行输入一个整数n,代表良神购物车有n件商品。 第2行输入n个整数,第i个整数a[i]代表良神购物车第i件商品的价格。 数据保证:12≤n≤1200,0<a[i]≤1200
输出描述:
输出一行,代表良神购买所有物品的最小支付金额。
示例1
输入
复制
12 12 3 2 4 5 1 7 8 11 10 9 6
输出
复制
89
说明
良神下了1单,买了12件物品,免去了最低价格的物品费用(1块),加上12块运费,一共花费78-1+12=89块。
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <vector>
#include <ctime>
#include <cctype>
#include <bitset>
#include <utility>
#include <sstream>
#include <complex>
#include <iomanip>
#define inf 0x3f3f3f3f
typedef long long ll;
using namespace std;
int a[1210],n,jg,xx;
int main()
{while (~scanf("%d", &n)){jg=12;for (int i=0; i<n; i++){scanf("%d", a+i);jg+=a[i];}sort(a, a+n);if (n>=12)jg-=a[0];xx=jg;for (int i=n-12; i>=0; i-=12){if (a[i]>12)jg=jg+12-a[i];xx=min(xx, jg);}printf("%d\n", xx);}return 0;
}
牛客每日练习----珂学送分,捡石头,良神爱购物相关推荐
- 牛客练习赛6 珂学送分2
链接:https://ac.nowcoder.com/acm/contest/26/E 来源:牛客网 题目描述 珂...珂...珂朵莉给你出了一道送分题: 给你一个长为n的序列{vi},和一个数a,你 ...
- 牛客 26E 珂学送分2 (状压dp)
珂...珂...珂朵莉给你出了一道送分题: 给你一个长为n的序列{vi},和一个数a,你可以从里面选出最多m个数 一个合法的选择的分数定义为选中的这些数的和加上额外规则的加分: 有b个额外的规则,第i ...
- 牛客每日练习----珂朵莉与宇宙,Forever97与寄信,Number
大提琴的声音就像一条河,左岸是我无法忘却的回忆,右岸是我值得紧握的璀璨年华,中间流淌的,是我年年岁岁淡淡的感伤 链接:https://ac.nowcoder.com/acm/problem/14600 ...
- Wannafly挑战赛3 珂学送分(期望dp)
科学送分 定义dp[i]dp[i]dp[i]为[i,n]分段的期望[i,n]分段的期望[i,n]分段的期望 那么dp[n]=1dp[n]=1dp[n]=1 对于确定的i,设我们找到了最大的j满足∑k= ...
- 牛客网 珂学送分( 期望DP )
题意 : 题目链接 分析 : 听队友说一般概率从前往后推.期望从后往前推......... #include<bits/stdc++.h> using namespace std; con ...
- 期望DP——珂学送分
题解: dp[i]dp[i]dp[i]代表[i-n]这个区间分成多少段的期望值 我们从后面往前面扫描,当我们发现i−ji-ji−j这个范围是满足的话,那么我们可以切分的点就存在j−i+1j-i+1j− ...
- Wanafly 挑战赛3 A 珂学送分 (dp)
解题思路 从后往前考虑,令dp[i] 为从i-n这段区间可以切成的期望段数,从后往前就比较好转移了. dp[i]=1j−i+1∑k=i+1j+1dp[k]+1 dp[i] = \frac{1}{j-i ...
- 力扣牛客每日刷题(Python解法持续更新)
力扣牛客每日刷题(持续更新) 初试结束第15天, 之前简单的处理了部分毕设方面的任务, 对接下来的学习做了个简单的规划 决定每天开始刷几道力扣题提高一下算法的理解,不能让之前学的数据结构都忘记了 每道 ...
- 牛客网论坛最具争议的 Java 面试成神笔记,GitHub 已下载量已过百万
程序员内部一直流传这一句话:面试看牛客 刷题看力扣牛客网作为国内最牛的程序员面试网站,一直在程序员内部颇负盛名,其中用户更是卧虎藏龙! 有国内一线大厂的企业招聘 还有一些低调的互联网大牛实力就和天龙八 ...
最新文章
- [HTML/CSS]盒子模型,块级元素和行内元素
- 2019 CCPC wannfly winter camp Day 5
- 双11行业“三连冠”,鞋王百丽走对了哪几步?
- python爬虫机器人价格_Python
- 程序员应该了解的几个接单平台,私活,码农!
- 交叉编译ncurses5.6
- java vector 多线程_如何使用vector解决多线程问题(java)
- 指定locale为en_US
- python新手入门代码-介绍十个Python小案例,新手入门就在这里
- 将APP打包为IPA
- 学校计算机维护投标书,信息化系统硬件及应用系统安全运维服务投标书范本
- 关于项目估算的微博讨论
- Python pip卸载包
- 桌面图标有阴影的解决方法
- 我是如何在12周内由零基础成为一名程序员的——谨以此文激励自己!!!
- RJ45以太网接口EMC设计方案
- Moto Defy刷机卡M无法进入RSD状态解决方法
- 关键明 抖音 打造百万爆款变现文案
- C# NPIO导出Excel设置宽度背景色
- 2014Esri中国用户大会亮点系列之——典型案例与应用阐释新一代WebGIS