星球

星球人口——优先队列(C++)

牧云@^-^@ 提交于 2020-02-25 01:49:00
题目: XX统治了N颗星球,其中第i颗星球上现在有Ai人口。每年每颗星球的人口都会增长K亿。从现在开始,每过100年,XX会挑选一颗人口最多的星球,消灭(假设当时该星球有X亿人口,将只剩下⌊X/2⌋亿人口) 请你计算现在经过了M个100年之后,这N颗星球总计还有多少亿人口。 IN: 第一行包含3个整数N, M和K。 第二行包含N个整数,A1, A2, ... AN。 1 <= N, M <= 100000 1 <= K <= 100 1 <= Ai <= 100000 OUT: 一个整数代表答案 解法一:数组输入(vector),sort排序 #include <bits/stdc++.h> using namespace std; bool cmp(int a,int b) { return a>b; } const int maxsize=1e6+6; int p[maxsize]; int main() { int n,m,k; long long sum=0; scanf("%d%d%d",&n,&m,&k); for(int i=0;i<n;i++) scanf("%d",&p[i]); for(int i=0;i<m;i++) { for(int j=0;j<n;j++) p[j]+=k*100; sort(p,p+n,cmp); p[0]/=2; } for(int

高精度算法——B进制星球

Deadly 提交于 2020-01-31 22:34:33
高精度算法——B进制星球 1、题目描述 题目背景 进制题目,而且还是个计算器~~ 题目描述 话说有一天,小Z乘坐宇宙飞船,飞到一个美丽的星球。因为历史的原因,科技在这个美丽的星球上并不很发达,星球上人们普遍采用B(2<=B<=36)进制计数。星球上的人们用美味的食物招待了小Z,作为回报,小Z希望送一个能够完成B进制加法的计算器给他们。 现在小Z希望你可以帮助他,编写实现B进制加法的程序。 输入格式 共3行第1行:一个十进制的整数,表示进制B。第2-3行:每行一个B进制数正整数。数字的每一位属于{0,1,2,3,4,5,6,7,8,9,A,B……},每个数字长度<=2000位。 输出格式 一个B进制数,表示输入的两个数的和。 输入输出样例 输入 #1 复制 4 123 321 输出 #1 复制 1110 2、问题分析 这道题本质上来说就是一道高精度加法的问题吧,但与普通十进制高精度加法不同的是,K进制(2<=K<=36)高精度加法对于处理它的进位来说有着额外的要求。至于怎么处理,我推荐从下图这张表里慢慢摸索… 3、算法源码 # include <bits/stdc++.h> using namespace std ; int n ; //K进制进位对应数组 char number [ 38 ] = { '0' , '0' , '1' , '2' , '3' , '4' , '5' ,

1759:采访计划

江枫思渺然 提交于 2020-01-18 00:11:38
时间限制: 2000 ms 内存限制: 131072 KB 【题目描述】 公元2044年,人类将进入宇宙纪元。L国有n个星球,分别编号为1到n,每一星球上有一个球长。 因为历史的长期积淀,第i个星球上还有一位编号为i的德高望重的长者,因为长者德高望重,所以第i个星球的球长一定被第i位长者管辖且长者管辖自己。 每一位长者手里有一份名单Bi,上面记录着一些长者的编号。 因为一些奥妙重重的原因,第i位长者的名单上只可能有1至i-1中的一些编号并且保证不会重复。 因为长者都德高望重,所以第i位长者管辖第j位长者的充要条件是:对于每一个k属于Bi,第k位长者管辖第j位长者。 此时,有一位记者想对一些球长进行采访,为了保证采访顺利,他决定先与一些长者搞好关系,以便采访被这些长者管辖的球长。 为了与更多的球长谈笑风生,这位记者会给你提出m个询问。 第i个询问中记者会给你fi个长者的编号,你需要回答有多少个星球的球长至少直接或间接被一位长者管辖。m≤2000000 。 【输入】 第一行一个数n,表示星球的个数。 接下来n行,每一行描述一个Bi:首先给出Bi的大小szi(可能为0),接下来szi个数,描述Bi中的每一个元素。保证Bi中的数没有重复。 接下来一行,给出一个数m,表示询问的个数。 接下来m行,每一行描述一个询问:格式同上文对于集合Bi的格式。 【输出】 共m行,第i行输出第i次询问的答案

树形DP·1771仓库选址

只愿长相守 提交于 2020-01-16 15:59:38
题目 喵星系有 n n n 个星球,星球以及星球间的航线形成一棵树。 从星球 a a a 到星球 b b b 要花费 [ d i s ( a , b ) X o r M ] [dis(a,b)XorM] [ d i s ( a , b ) X o r M ] 秒。dis(a,b)表示 a , b a,b a , b 间的航线长度 求星球 i i i 到其他所有星球花费的时间之和。 输入 第一行包含两个正整数 n , M n,M n , M 接下来 n − 1 n−1 n − 1 行,每行 3 3 3 个正整数 a , b , c a,b,c a , b , c 表示 a , b a,b a , b 之间的航线长度为 c c c 输出 n n n 行,每行一个整数,表示星球i到其他所有星球花费的时间之和。 样例 input 4 0 1 2 1 1 3 2 1 4 3 output 6 8 10 12 数据规模 测试点编号 N M 1 6 0 2 100 5 3 2000 9 4 50000 0 5 50000 0 6 50000 1 7 50000 6 8 100000 10 9 100000 13 10 100000 15 答案不超过2×10^9。 题解 代码 # include <bits/stdc++.h> # define ll long long using

USDT跑分系统制度搭建开发

大兔子大兔子 提交于 2019-12-05 10:16:02
U丨S丨D丨T丨跑丨分丨系丨统丨开丨发 欢迎咨询厄加特Urgot(189微2212电1525) ,跑丨分丨系丨统丨开丨发丨 A丨P丨P丨开丨发丨案丨例丨源丨码丨制丨度丨方丨案丨,我司位于广州天河区,是一家大型专业商业服务互联网技术一体化公司,百人技术团队,市面上有的你叫得出名字的类似系统我们都能做,模式多样,紧跟时代,能做出最符合你、最接近时代轨道的项目方案。 在流浪地球这边紧锣密鼓地做着准备的同时,rda的创业之星号也遵循着上级的命令向着潘多拉缓缓驶来。 “我们才离开了有多久啊,怎么潘多拉上就能出这种大事呢?还要用到反物质武器,上级的人都疯了吧。” 一名创业之星号船员一边喝着酒一边抱怨道,似乎完全没有把这次任务当成一回事。 舰长法尔科向他警告道:“任务就是任务,不要问那么多为什么,否则下一个被灭口的人就是你了。” 被这么一提醒,这名船员马上就闭嘴了。作为创业之星号的工作人员,他们都很清楚rda的行事风格。 连一个星球都能被他们抹杀掉,更不要说他一个小小的船员了。 就在他们笔直地朝着潘多拉返航回去的时候,飞船的驾驶员在仪表上察觉到了一丝异样。 “长官,前方有一个大型飞行物正在向我们接近,似乎是一个星球?” 法尔科眉头一皱:“阿尔法星系还有我们尚未探明的星球吗?” “我们星图上确实没有这么一个星球存在,感觉有点奇怪。” 奇怪是当然的,rda在潘多拉上殖民了有十几年了

9.15练习赛

廉价感情. 提交于 2019-11-29 16:25:12
CSP2019 练习赛 3 小时完成 (请选手务必仔细阅读本页内容) 一. 题目概况 中文题目名称 碎片 龙珠 仓库 英文题目名称 piece dragon warehouse 可执行文件名 piece dragon warehouse 输入文件名 piece.in dragon.in warehouse.in 输出文件名 piece.out dragon.out warehouse.out 每个测试点时限 1 秒 1 秒 1 秒 测试点数目 10 10 10 每个测试点分值 10 10 10 附加样例文件 有 有 有 结果比较方式 全文比较 过滤行末空格 及文末回车 全文比较 过滤行末空格 及文末回车 全文比较 过滤行末空格 及文末回车 题目类型 传统 传统 传统 二. 提交源程序文件名 对于 pascal 语言 piece.pas dragon.pas warehouse.pas 对于 C 语言 piece.c dragon.c warehouse.c 对于 C++语言 piece.cpp dragon.cpp warehouse.cpp 三. 运行内存限制 内存上限 128M 128M 256M 四. 注意事项 1、 文件名(程序名和输入输出文件名)必须使用小写。 2、 C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。 3、

【简●解】[HNOI2005]星际贸易

前提是你 提交于 2019-11-29 00:08:00
【大意】 太多了,懒得打,贴 \(LG\) 的图了。。。 【分析】 开始拿到这道题有点慌:怎么限制条件这么多,再读读题。 注意一个东西,就是贸易额与费用是独立分开的,并且题目保证只有一种方案获得最大贸易额。 所以我们 \(dp\) 也可以分开 \(dp\) 。 对于贸易额,每走到一个星球,我可以选择卖或不卖,经典的背包问题,直接 \(f[i][j]=min\{f[i-1][j-A_i]+B_i\}\) 。 然后从后往前扫记录决策点的转移,这些星球是必到的,即必定会在该星球上维修。 现在来看费用。 设 \(g[i][j]\) 表示到第 \(i\) 个星球,剩余反物质燃料为 \(j\) 的最小费用,暴力枚举转移点,则有 \(g[i][j]=\{g[k][l]+(j-l+2)\times P_i+T_i\}(0\le k<i,L_i-L_k\le L_0,l\le j)\) \(O(n^4)\) 转移。。。 然后可推出一个更优的式子: \(g[i][j]=min\{g[k][j+2]+F_i,g[i][j-1]+P_i\}\) 。 \(O(n^3)\) 转移。。。 然后,,,我就嫖题解了。。。。 噢,原来可以单调队列优化啊,对于每个 \(j\) 开一个单调队列,若当前的 \(i\) 为必到的星球,就清空队列中所有的元素,然后把 \(i\) 放进去。 \(O(n^2)\) 转移!!!

C语言解惑课堂使用指南V1

半世苍凉 提交于 2019-11-28 10:03:07
欢迎同学们加入"C语言解惑课堂"!加入方式参考文末!关于本课堂的使用方法请参考如下官方说明: 知识星球官方说明文档 同学们觉得官方说明太长了不想看?没事儿,继续往下看吧,我从中筛选出一些关键的、实用的使用方法作为使用指南,放心,不长哦! 本指南以知识星球APP使用为例,微信公众号"知识星球"的使用方法类似,但是在功能上可能没有APP这么全。 一、课堂里如何提问? 在课堂主页中上部的居中位置有"提问"按钮,同学们点击即可提问,如下图: “提问”位置 我看到提问后会第一时间回答,回答示例如下: “解答”示例 二、课堂里如何发表内容? 在课堂主页中上部的左边位置有"发表"按钮,同学们点击即可发表自己的内容,如下图: “发表”位置 发表后的示例图如下: 同学们发表成功示例 三、课堂里如何收藏内容? 1、收藏内容的方法如下图 来自知识星球官方说明截图:https://shimo.im/docs/FR6th6LleZoCRUj9/read 2、收藏示例图 收藏示例 四、课堂里如何搜索内容? 有三个搜索功能可供使用,如下: 1、精华内容搜索 在课堂主页中上部的右边位置有"精华"按钮,同学们点击即可查看课堂里的精华内容,如下图: 精华内容搜索 2、主题筛选 在课堂主页中上部的下边位置有"全部主题"按钮,同学们点击即可分主题查询内容,如下图: “全部主题”位置 点击“全部主题”后是主题分类