Day 12

题目描述

西西艾弗岛上共有 \(n\) 个仓库,依次编号为 \(1∼n\)。

每个仓库均有一个 \(m\) 维向量的位置编码,用来表示仓库间的物流运转关系。

具体来说,每个仓库 \(i\) 均可能有一个上级仓库 \(j\),满足:仓库 \(j\) 位置编码的每一维均大于仓库 \(i\) 位置编码的对应元素。

比如编码为 \((1,1,1)\) 的仓库可以成为 \((0,0,0)\) 的上级,但不能成为 \((0,1,0)\) 的上级。

如果有多个仓库均满足该要求,则选取其中编号最小的仓库作为仓库 \(i\) 的上级仓库;如果没有仓库满足条件,则说明仓库 \(i\) 是一个物流中心,没有上级仓库。

现给定 \(n\) 个仓库的位置编码,试计算每个仓库的上级仓库编号。

输入格式

输入共 \(n+1\) 行。

输入的第一行包含两个正整数 \(n\) 和 \(m\),分别表示仓库个数和位置编码的维数。

接下来 \(n\) 行依次输入 \(n\) 个仓库的位置编码。其中第 \(i\) 行\((1≤i≤n)\)包含$ m$ 个整数,表示仓库 \(i\) 的位置编码。

输出格式

输出共 \(n\) 行。

第 \(i\) 行\((1≤i≤n)\)输出一个整数,表示仓库 \(i\) 的上级仓库编号;如果仓库 \(i\) 没有上级,则第 \(i\) 行输出 \(0\)。

数据范围

\(50\%\) 的测试数据满足 \(m=2\);

全部的测试数据满足 \(0<m≤10、0<n≤1000\),且位置编码中的所有元素均为绝对值不大于 \(10^6\) 的整数。

输入样例:

4 2
0 0
-1 -1
1 2
0 -1

输出样例:

3
1
0
3

样例解释

对于仓库 \(2\):\((−1,−1)\) 来说,仓库 \(1\):\((0,0)\) 和仓库 \(3\):\((1,2)\) 均满足上级仓库的编码要求,因此选择编号较小的仓库 \(1\) 作为其上级。

题目分析

语法题

数据量很小,按照题干描述暴力求每个点的上级编号即可,时间复杂度\(O(mn^2)\)

C++ 代码

#include <iostream>
#include <cstring>
#include <algorithm> using namespace std;
const int N = 1010; int n , m;
vector<int> p[N];
int f[N]; int main()
{
cin >> n >> m; for(int i = 0 ; i < n ; i ++)
{
for(int j = 0 ; j < m ; j ++)
{
int x;
cin >> x;
p[i].push_back(x);
}
} for(int i = 0 ; i < n ; i ++)
{
for(int j = 0 ; j < n ; j ++)
{
bool flag = true;
for(int k = 0 ; k < m ; k ++)
flag &= (p[i][k] < p[j][k]);
if(flag)
{
f[i] = j + 1;
break;
}
}
} for(int i = 0 ; i < n ; i ++)
cout << f[i] << '\n'; return 0;
}

题目描述

质数(又称“素数”)是指在大于 \(1\) 的自然数中,除了 \(1\) 和它本身以外不再有其他因数的自然数。

小 \(P\) 同学在学习了素数的概念后得知,任意的正整数 \(n\) 都可以唯一地表示为若干素因子相乘的形式。

如果正整数 \(n\) 有 \(m\) 个不同的素数因子 \(p_1,p_2,…,p_m\),则可以表示为:\(n=p_1^{t_1}×p_2^{t_2}×…×p_m^{t_m}\)。

小 \(P\) 认为,每个素因子对应的指数 \(t_i\) 反映了该素因子对于 \(n\) 的重要程度。

现设定一个阈值 \(k\),如果某个素因子 \(p_i\) 对应的指数 \(t_i\) 小于 \(k\),则认为该素因子不重要,可以将\(p_i^{t_i}\) 项从 \(n\) 中除去;反之则将 \(p_i^{t_i}\) 项保留。

最终剩余项的乘积就是$ n$ 简化后的值,如果没有剩余项则认为简化后的值等于 \(1\)。

试编写程序处理 \(q\) 个查询:

每个查询包含两个正整数 \(n\) 和 \(k\),要求计算按上述方法将 \(n\) 简化后的值。

输入格式

输入共 \(q+1\) 行。

输入第一行包含一个正整数 \(q\),表示查询的个数。

接下来 \(q\) 行每行包含两个正整数 \(n\) 和 \(k\),表示一个查询。

输出格式

输出共 \(q\) 行。

每行输出一个正整数,表示对应查询的结果。

数据范围

\(40\%\) 的测试数据满足:\(n≤1000\);

\(80\%\) 的测试数据满足:\(n≤10^5\);

全部的测试数据满足:\(1<n≤10^{10}\) 且 \(1<k,q≤10\)。

输入样例:

3
2155895064 3
2 2
10000000000 10

输出样例:

2238728
1
10000000000

样例解释

查询一:

  • \(n=2^3×3^2×23^4×107\)
  • 其中素因子\(3\) 指数为 \(2\),\(107\) 指数为 \(1\)。将这两项从 \(n\) 中除去后,剩余项的乘积为 \(2^3×23^4=2238728\)。

查询二:

  • 所有项均被除去,输出 \(1\)。

查询三:

  • 所有项均保留,将 \(n\) 原样输出。

题目分析

质因子分解,记录下每次的质因子和对应幂,再去检查一边,小于\(k\)的从结果中除去即可

C++ 代码

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <map> using namespace std;
typedef long long LL; LL n;
int k;
map<LL , int> prime; void solve()
{
LL res = n;
prime.clear(); for(int i = 2 ; i <= n / i ; i ++)
{
while(n % i == 0)
{
n /= i;
prime[i] ++;
}
} if(n > 1) prime[n] ++; for(auto it : prime)
{
LL p = it.first;
int t = it.second;
if(t < k)
for(int i = 0 ; i < t ; i ++)
res /= p;
} cout << res << '\n';
} int main()
{
int T;
cin >> T;
while(T --)
{
cin >> n >> k;
solve();
} return 0;
}#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <map> using namespace std;
typedef long long LL; LL n;
int k;
map<LL , int> prime; void solve()
{
LL res = n;
prime.clear(); for(int i = 2 ; i <= n / i ; i ++)
{
while(n % i == 0)
{
n /= i;
prime[i] ++;
}
} if(n > 1) prime[n] ++; for(auto it : prime)
{
LL p = it.first;
int t = it.second;
if(t < k)
for(int i = 0 ; i < t ; i ++)
res /= p;
} cout << res << '\n';
} int main()
{
int T;
cin >> T;
while(T --)
{
cin >> n >> k;
solve();
} return 0;
}

Day12 备战CCF-CSP练习的更多相关文章

  1. CCF CSP 认证

    参加第八次CCF CSP认证记录 代码还不知道对不对,过两天出成绩. 成绩出来了,310分. 100+100+100+10+0: 考试13:27开始,17:30结束,提交第4题后不再答题,只是检查前四 ...

  2. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  3. CCF CSP 201703-3 Markdown

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201703-3 Markdown 问题描述 Markdown 是一种很流行的轻量级标记语言(l ...

  4. CCF CSP 201703

    CCF CSP 2017·03 做了一段时间的CCF CSP试题,个人感觉是这样分布的 A.B题基本纯暴力可满分 B题留心数据范围 C题是个大模拟,留心即可 D题更倾向于图论?(个人做到的D题基本都是 ...

  5. CCF CSP 201312-3 最大的矩形

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201312-3 最大的矩形 问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i( ...

  6. CCF CSP 201609-3 炉石传说

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201609-3 炉石传说 问题描述 <炉石传说:魔兽英雄传>(Hearthston ...

  7. CCF CSP 201403-3 命令行选项

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201403-3 命令行选项 问题描述 请你写一个命令行分析程序,用以分析给定的命令行里包含哪些 ...

  8. CCF CSP 201709-4 通信网络

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-4 通信网络 问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M ...

  9. CCF CSP 201409-3 字符串匹配

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201409-3 字符串匹配 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那 ...

  10. CCF CSP 201503-3 节日

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201503-3 节日 问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形 ...

随机推荐

  1. Filter与Interceptor的区别

    前言 在看springboot项目时,其中的会话持续时,了解到token,session,jwt等方法,但是接着我就了解到过滤器(Filter)以及拦截器(Interceptor),感觉这两个东西真的 ...

  2. LightGBM算法原理及Python实现

    一.概述   LightGBM 由微软公司开发,是基于梯度提升框架的高效机器学习算法,属于集成学习中提升树家族的一员.它以决策树为基学习器,通过迭代地训练一系列决策树,不断纠正前一棵树的预测误差,逐步 ...

  3. 进程间通信-POSIX 共享内存

    POSIX 共享内存 POSIX 共享内存是一种在 Linux 系统上使用的共享内存机制,它允许多个进程可以访问同一个内存区域,从而实现进程间的数据共享.共享内存是可用IPC机制中最快的,使用共享内存 ...

  4. Go Gob编码

    gob(Go binary)是Goland包自带的一个数据结构序列化的编码/解码工具.编码使用Encoder,解码使用Decoder.一种典型的应用场景就是RPC(remote procedure c ...

  5. SQL注入之字符型和数字型注入

    SQL注入之数字型注入和字符性注入: 数字型注入:不需要闭合 字符型注入:需要闭合 如何判断属于那种注入? 1.用减法判断:利用id=2-1 如果返回的是id=1的结果,则是数字注入,否则是字符注入 ...

  6. Manifest V3 getBackgroundPage() 返回 undefined 或报错 You do not have a background page. 的巨坑

    省流:无解了,老老实实  sendMessage罢 这件事挺奇怪的,因为我看官方文档就是这么写的,也没什么特别说明,版本也是最新的,就挺奇怪的-- 在翻了一大圈,之后看到了这篇帖子: 意思就是说,ap ...

  7. Spring扩展接口-CommandLineRunner、ApplicationRunner

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...

  8. AtCoder Beginner Contest 408 E-F 题解

    E. Minimum OR Path 题意 给你一个 \(N\) 个点 \(M\) 条边的无自环的无向图,第 \(i\) 条边连接 \(u_i\) 和 \(v_i\),权值为 \(w_i\). 在所有 ...

  9. Kubernetes配置管理

    Kubernetes配置管理 ConfigMap 对于应用的可变配置在 Kubernetes 中是通过一个 ConfigMap 资源对象来实现的,许多应用经常会有从配置文件.命令行参数或者环境变量中读 ...

  10. pip安装模块提示Command "python setup.py egg_info" failed with error code 1

    报错详情: [root@k8s001 ~]# pip install kubernetes Collecting kubernetes Using cached https://files.pytho ...