洛谷 P2558 [AHOI2002]网络传输
题目描述
在计算机网络中所有数据都是以二进制形式来传输的。 但是在进行较大数据的传输时,直接使用该数的二进制形式加以传输则往往传输的位数过多。 譬如要传输 1024 就需要 11 位二进制数。 于是小可可提出了一种数据优化传输的设想,并打算对这一设想进行试验。
该设想是:正整数 的所有方幂以及任意多个互不相等的 k 的方幂之和排成一个递增数列{a(k)n} , 例如当 k =3 时,{a(k)n}的前 7 项为 1(即 3^0)、 3(即 3^1)、 4(即 3^0+3^1)、 9(即 3^2)、10(即 3^0+3^2)、12(即 3^1+3^2)、 13(即 3^0+3^1+3^2)。
如果数d是数列{a(k)n}中的第p项,则可以通过传送k和p这两个数来表示数 d 。由于 k 和 p 这两个相对很小的数就可以表达出很大的数 ,因而理论上可以减少网络传输的位数。
小可可现在请你编写程序把接收到的数k和p所代表的数d计算出来。
输入输出格式
输入格式:
文件中以一行的形式存放了两个正整数 k 和 p , 1 < k ≤ 1024 ,
1 ≤ p ≤ 1024 。
输出格式:
以一行的形式输出问题的解(解的位数不超过 50 位)。
输入输出样例
3 7
13
思路:
首先,我们将数列中所有数转化为k进制,发现第一项为1,第二项为10,第三项为11,因此第p项所代表的是p的二进制表达式。
我们先将p的二进制求出,然后用高精度,答案就出来了。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int k,p;
int c[][];
int a[],ans[];
void pre(){
memset(c,,sizeof(c));
c[][]=;
int l=;
for(int i=;i<=;i++){
for(int j=;j<=l;j++) c[i][j]=c[i-][j];
for(int j=;j<=l;j++) c[i][j]*=k;
for(int j=;j<=l;j++){
c[i][j+]+=c[i][j]/;
c[i][j]%=;
}
while(l<=){
c[i][l+]+=c[i][l]/;
c[i][l]%=;
l++;
}
l--;
}
}
int main(){
scanf("%d%d",&k,&p);
memset(a,,sizeof(a));
int x=;
while(p>){ a[x++]=p%;p>>=; }
x--;
pre();
memset(ans,,sizeof(ans));
for(int i=;i<=x;i++)
if(a[i])
for(int j=;j<=;j++){
ans[j]+=c[i][j];
ans[j+]+=ans[j]/;
ans[j]%=;
}
int l=;
while(!ans[l]) l--;
for(int i=l;i>=;i--)
printf("%d",ans[i]);
}
洛谷 P2558 [AHOI2002]网络传输的更多相关文章
- 洛谷 P1546 最短网络 Agri-Net
题目链接 https://www.luogu.org/problemnew/show/P1546 题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当 ...
- 洛谷P1546 最短网络 Agri-Net(最小生成树,Kruskal)
洛谷P1546 最短网络 Agri-Net 最小生成树模板题. 直接使用 Kruskal 求解. 复杂度为 \(O(E\log E)\) . #include<stdio.h> #incl ...
- 洛谷P2812校园网络【Network of Schools加强版】
题目背景 浙江省的几所\(OI\)强校的神犇发明了一种人工智能,可以\(AC\)任何题目,所以他们决定建立一个网络来共享这个软件.但是由于他们脑力劳动过多导致全身无力身体被\(♂\)掏\(♂\)空,他 ...
- 【题解】洛谷P1262 间谍网络 (强连通分量缩点)
洛谷P1262:https://www.luogu.org/problemnew/show/P1262 思路 一看题目就知道是强连通分量缩点 当图中有强连通分量时 将其缩点 我们可以用dfn数组判断是 ...
- 洛谷 1262 间谍网络 Tarjan 图论
洛谷 1262 图论 tarjan 并不感觉把这道题目放在图的遍历中很合适,虽然思路比较简单但是代码还是有点多的,, 将可收买的间谍的cost值设为它的价格,不可购买的设为inf,按照控制关系连图,T ...
- 洛谷$P2604\ [ZJOI2010]$网络扩容 网络流
正解:网络流 解题报告: 传送门$QwQ$ 昂第一问跑个最大流就成不说$QwQ$ 然后第二问,首先原来剩下的边就成了费用为0的边?然后原来的所有边连接的两点都给加上流量为$inf$费用为$w$的边,保 ...
- 洛谷 P3171 [CQOI2015]网络吞吐量 解题报告
P3171 [CQOI2015]网络吞吐量 题目描述 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点.网络中实现路由转发的硬件设备称为路由器.为了使数据包最 ...
- [NOIP2014] 提高组 洛谷P2038 无线网络发射器选址
题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129 条东西向街道和129 条南北向街道所形成的网格状,并且相邻 ...
- 洛谷 P1546 最短网络 Agri-Net Label:Water最小生成树
题目背景 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 题目描述 约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其 ...
随机推荐
- Could not load the FreeMarker template named 'select'
眼下项目使用struts2, 所以页面中就使用到了struts2的标签,可是今天在做新的功能的时候突然出现 "Could not load the FreeMarker template n ...
- Import Example Dataset
Overview The examples in this guide use the restaurants collection in the test database. The followi ...
- java操作文件的创建、删除、遍历
java操作文件的创建.删除.遍历: package test; import java.io.File; import java.io.IOException; import java.util.A ...
- 【DNN 系列】 下载安装
1.下载 http://dotnetnuke.codeplex.com/releases/view/119857 2.安装 下载完毕 因为 IIS 7 采用了更安全的 web.config 管理机制, ...
- RMAN动态视图
1.V$ARCHIVEG_LOG 显示归档文件在数据库中创建.备份.清除 2.V$BACKUP_CORRUPTION 显示当一个备份集备份时块中发现的坏块 3.V$COPY_CORRUPTION 显示 ...
- RSA加密的方式和解密方式
RSAsecurity.java package com.mstf.rsa; import java.security.KeyFactory; import java.security.KeyPair ...
- 隐藏div,文本框角圆滑,消除外边框
#div_1 /*将div设置完成,并且隐藏,当需要的时候对其属性值进行修改*/ { height: 36px; width: 1099px; background-color: #F0DFDF; m ...
- php计算两个时间相差的天数、小时数、分钟数、秒数
$startdate="2011-3-15 11:50:00";//开始时间 $enddate="2012-12-12 12:12:12";//结束时间 $da ...
- 剑指Offer面试题27(Java版):二叉搜索树与双向链表
题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建新的结点.仅仅能调整树中结点指针的指向. 比方例如以下图中的二叉搜索树.则输出转换之后的排序双向链表为: 在二叉树中,每一 ...
- UI_UISegmentedControl 控件
创建控件 - (void)createSegmentControl { UISegmentedControl *segmentedControl = [[UISegmentedControl allo ...