n诺挑战赛5题解
Drinking
题意:就是给你n瓶酒的初始伤害值,第几天喝这瓶酒伤害值就是这瓶酒的初始伤害值第几倍,而且他每天喝的瓶数不超过m。要你输出所有的情况,就是他喝(1~n)瓶的伤害值的最小,
思路:就是这些酒从小到大排序,越小的越往后退,这就相当于是一个火车,每一个车厢只能装m个人,每往后座一节车厢,自己的票价就要多加一次,
当酒瓶数没有超过m时,就是第一天可以吃完的,不就是酒瓶从小到大的前缀和吗?
当大于m时,例如当酒瓶数k = m +1 时,第一瓶酒被挤到了第二天去吃,第m+1块酒瓶要第一天吃,不就是吃m瓶酒在上第一一瓶酒和第m+1瓶酒吗?
因为是m瓶一循环,所以当瓶数p大于m时,与p-1瓶时相比所有(p%m)的倍数都往后推了一天,也就是伤害值增加了(a[p%m], a[p%m+m].....a[p-m]},同时a[p]也增加进来了
因此我们要先把大于m时的每加一瓶所要加的伤害值预处理出来
然后一次求前缀和
#include <iostream>
#include <cmath>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>
#include <set>
#include <map>
#include <queue> using namespace std;
const int N = 2e5 +;
typedef long long ll;
ll a[N],ans[N],b[N];
int main()
{
int n,m;
cin >> n >> m;
for(int i = ; i <= n; i ++)
{
scanf("%d",&a[i]);
}
sort(a+,a+n+);
for(int j = m + ; j <= n; j++ )
{
b[j] = b[j-m] + a[j-m];//预处理第j天比(j-1)天要多加的伤害值
//第j天我们要把所有(j%m)的倍数中小于j的都加一次
}
for(int i=;i<=n;i++)
{
a[i]=a[i-]+a[i] + b[i];
//b[i]表示第i天除了由第0天变道第一天的其他所有添加的伤害值
printf("%lld ",a[i]);
}
return ;
}
River's lake
题意:a[1]=1,a[2]=3,...a[n]=a[n-1]*3 + a[n-2]*2;,这是一个矩阵快速幂的裸体,而且已经给出了状态转移矩阵,但是这个题有一个坑点就是这个斐波那契数列不是从零开始的而是从一开始的,因此n要先减去一个1
代码:
#include <iostream>
#include <algorithm>
#include <bits/stdc++.h> using namespace std;
typedef long long ll;
const int Mod = 1e5;
void mul(int f[],int a[][])
{
int c[];
memset(c,,sizeof(c));
for(int i=;i<;i++)
{
for(int j=;j<;j++)
{
c[i]= (c[i] + (ll)f[j]*a[j][i])%Mod ;
}
}
memcpy(f,c,sizeof(c));
}
void mulself(int a[][])
{
int c[][];
memset(c,,sizeof(c));
for(int i=;i<;i++)
{
for(int j=;j<;j++)
{
for(int k =;k<;k++)
{
c[i][j] = (c[i][j] + (ll) a[i][k]*a[k][j])%Mod;
}
}
}
memcpy(a,c,sizeof(c));
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
n--;
int f[]={,};
int a[][]={{,},{,}};
while(n)
{
if(n&)mul(f,a);
mulself(a);
n>>=;
}
cout << f[]<<endl;
}
}
Weapons
题意:给你一个y,n,k;求出所有(x+y)|k且(x>0,y>0)(x+y<=n)
按照升序输出所有的x
代码;
#include <iostream>
#include <bits/stdc++.h> using namespace std;
typedef long long ll;
int main()
{
int y,n,k,i;
scanf("%d %d %d",&y,&k,&n);
for(i=(y/k+)*k;i<=n;i+=k)
{
printf("%d ",i-y);
}
if((y/k+)*k>n)
{
printf("-1");
}
return ;
}
n诺挑战赛5题解的更多相关文章
- Wannafly挑战赛29题解
这套题目非常有意思啊23333--话说为啥没有上条先生的呢-- 传送门 \(A\) 御坂美琴 蠢了--首先先判总共加起来等不等于\(n\),不是的话就不行 然后dfs记录\(n\)不断分下去能分成哪些 ...
- Wannafly挑战赛26题解
为啥混进了几道不是魔禁的题--出题人太不敬业了-- 传送门 \(A\) 御坂网络 为啥没有番外个体和整体意志呢 暴力模拟就好了,这个要是都打错我干脆滚回去学文化课算了 //minamoto #incl ...
- PTA2021 跨年挑战赛部分题解
7-1 压岁钱 不用说 #include<bits/stdc++.h> using namespace std; typedef long long ll; const int maxn ...
- Wannafly挑战赛21A
题目链接 Wannafly挑战赛21A 题解 代码 #include <cstdio> #include <cmath> #define MAX 1000005 #define ...
- Test传送门(更新中)
一.Codeforces传送门: Avito Code Challenge 2018 题解传送门 Codeforces Round #485 (Div. 2) 题解传送门 二.hihocode ...
- cf-1230C Anadi and Domino
题目链接:http://codeforces.com/contest/1230/problem/C 题意: 有21 个多米诺骨牌,给定一个无向图(无自环,无重边),一条边上可以放一个多米诺骨牌.如果两 ...
- Wannafly 挑战赛 19 参考题解
这一次的 Wannafly 挑战赛题目是我出的,除了第一题,剩余的题目好像对大部分算法竞赛者来说好像都不是特别友好,但是个人感觉题目质量还是过得去的,下面是题目链接以及题解. [题目链接] Wanna ...
- 题解 P3693 【琪露诺的冰雪小屋】
知识点: 模拟 , 信仰 原题面 大 型 车 万 众 自 裁 现 场 分析题意: 操作: ICE_BARRAGE R C D S R:行 , C:列, D:方向 , S:强度 在(R,C) 向 D 射 ...
- Wannafly挑战赛13 zzf的好矩阵 题解 答案解释
Wannafly挑战赛13 zzf的好矩阵 题解 文章目录 Wannafly挑战赛13 zzf的好矩阵 题解 分析 结论1 结论2 结论3 C数组对应带子说明 空白长度论述 后续黑色长度论述 能&qu ...
随机推荐
- Docker Machine(十五)
目录 一.Docker Machine 总览 1.Docker Engine VS Docker Machine 2.环境准备 二.安装 Docker Machine 1.Install Machin ...
- 【C#设计模式2】简单工厂模式
我们在编程的时候,每当"new"一个对象之后,这个对象就依赖于这个类了.如果在后期的维护过程中由于某些原因需要修改一下这个类,则唯一的做法就是打开源代码,进行修改,修改所有与这个对 ...
- Hadoop概念学习系列之Hadoop、Spark学习路线
1 Java基础: 视频方面: 推荐<毕向东JAVA基础视频教程>.学习hadoop不需要过度的深入,java学习到javase,在Java虚拟机的内存管理.以及多线程. ...
- Mac安装7Z以及Mac下查看隐藏文件夹
一:Mac下安装7Z: 1:brew直接安装解压工具 $ brew search 7z 会搜索到: ==> Formulae p7zip 2:$ brew install p7zip ...
- 【计算机视觉】Selective Search for Object Recognition论文阅读2
Selective Search for Object Recognition 是J.R.R. Uijlings发表在2012 IJCV上的一篇文章.主要介绍了选择性搜索(Selective Sear ...
- JavaScript、TypeScript、ES6三者之间的联系和区别
ES6是什么 ECMAScript 6.0(以下简称ES6)是JavaScript语言(现在是遵循ES5标准)的下一代标准,已经在2015年6月正式发布了.它的目标,是使得JavaScript语言可以 ...
- javascript高德地图放到网页中的方法
javascript高德地图放到网页中的方法 1 先获取到经纬度http://lbs.amap.com/console/show/picker 2 下面代码直接设置下中心点 和标记点就可以了 < ...
- 2个CDH的hive数据同步
算法和数仓共用一套hive数据: CM: 真实数据: 都存在共享存储: oss, s3,ufile上. CDH配置能访问的权限(key)
- 基于nginx与zookeeper的API Gateway实现笔记 - 环境搭建
为了简化操作,采用操作系统为CentOS 8. 首先需要编译出libzookeeper,在官网下载最新的zookeeper源码,或者github上clone一个,地址为:https://github. ...
- yii2中 选择布局的方式,可以设置不使用布局
###yii2中 选择布局的方式,可以设置不使用布局 控制器内成员变量 public $layout = false; //不使用布局 public $layout = "main" ...