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. JVM 方法区是否会出现内存溢出?

    JVM 方法区是否会出现内存溢出? 方法区内存溢出的可能性 方法区是 JVM 内存中的一个重要组成部分,存储类的元信息.静态变量和运行时常量池等.尽管它是一个独立的内存区域,但如果内存使用过多,也可能 ...

  2. github项目收集

    web模块 Nginx 监控模块vts: https://github.com/vozlt/nginx-module-vts

  3. 环境搭建: Vue3+Echarts5+vue-eharts + 移动端rem适配

    对于数据可视化的最后一站, 就是移动数据报表的展示, 毕竟手机端的适普性, 便携性, 灵活性更高. 包括我自己也是更多在移动端进行轻量办公. 而用主流的商业BI平台在PC端的体验基本可打80分, 而在 ...

  4. String Manipulation related with pandas

    String Manipulation related with pandas String object Methods import pandas as pd import numpy as np ...

  5. codeup之比较奇偶数个数

    Description 第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES. Input 输入有多组数据. 每组输入n,然后输入n个整数(1<=n& ...

  6. Surrounded Regions——LeetCode进阶路

    原题链接https://leetcode.com/problems/surrounded-regions/ 题目描述 Given a 2D board containing 'X' and 'O' ( ...

  7. python时间戳转时间格式

    一.两种时间戳转换为时间格式:13位和10位,将时间戳转成时间格式 import time #13位时间戳转时间 tre_timeArray = time.localtime(164601220668 ...

  8. 精选 12 款开源、免费、美观的 Vue 后台管理系统模板!

    前言 在当前软件开发领域,Vue.js 凭借其高效.灵活和易于上手的特性,成为了前端开发的热门选择.对于需要快速搭建企业级后台管理系统的开发者而言,使用现成的 Vue 后台管理系统模板无疑是一个明智之 ...

  9. EasyExcel工具类,可导出单个sheet、导出多个sheet

    单个sheet导出案例 ExcelUtil.exportXlsx(response, "测试数据", "测试数据", list, TestDataPageDto ...

  10. iStore实现 SmartDNS + AdGuard Home IP优选+广告屏蔽

    iStore实现 SmartDNS + AdGuard Home IP优选+广告屏蔽 参考自openwrt 官方版 安装配置 AdGuard Home + smartdns 告别广告烦扰 教程 软路由 ...