2019-ECfinal-M题-value
题目传送门
sol:每个下标都有选和不选两种情况,所以总方案数是$2^{n}$,在$n$最大是$100000$的情况下不符合要求。可以这样想,假设$i^{p}=k$有符合题目要求的解,还有一个整数$j$,$j$不是$i$的整次幂,$i$也不是$j$的整次幂,那么$j^{p}=k$不可能成立,所以我们可以把所以底数分开考虑,所以$2$的整次幂拉出来爆搜一次;所以$3$的整次幂拉出来爆搜一次;$4$因为在爆搜$2$的时候考虑过,所以跳过。。。最后加上$a[1]$就是答案了。
- 分类讨论爆搜
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int MAXN = 1e5 + ;
int a[MAXN], b[MAXN];
bool vis[MAXN];
int p[], v[], tot;
LL dfs(int i, LL k) {
if (i > tot) return k;
LL res = dfs(i + , k); // 不取第i个
k += a[p[i]];
k -= 1LL * v[i] * b[p[i]];
for (int j = i; j <= tot; j += i) v[j] ++;
res = max(res, dfs(i + , k)); // 取第i个
for (int j = i; j <= tot; j += i) v[j] --;
return res;
}
int main() {
int n; scanf("%d", &n);
for (int i = ; i <= n; i++) scanf("%d", &a[i]);
for (int i = ; i <= n; i++) scanf("%d", &b[i]);
LL res = a[];
for (int i = ; i <= n; i++) {
if (vis[i]) continue;
tot = ;
for (LL j = i; j <= n; j *= i) {
p[++tot] = j;
vis[j] = true;
}
res += dfs(, );
}
printf("%lld\n", res);
return ;
}
2019-ECfinal-M题-value的更多相关文章
- $2019$ 暑期刷题记录1:(算法竞赛DP练习)
$ 2019 $ 暑期刷题记录: $ POJ~1952~~BUY~LOW, BUY~LOWER: $ (复杂度优化) 题目大意:统计可重序列中最长上升子序列的方案数. 题目很直接的说明了所求为 $ L ...
- 2019寒假练题计划——LibreOJ刷题计划 &《信息学奥赛一本通》提高版题目
目录 2019.1.27 #10082. 「一本通 3.3 例 1」Word Rings 题意 思路 #10083. 「一本通 3.3 例 2」双调路径 题意 思路 #10084. 「一本通 3.3 ...
- 2019年C题 视觉情报信息分析
2019 年第十六届中国研究生数学建模竞赛C 题 任务1中 图三:图3 中拍照者距离地面的高度 目录: 0.试题分析: 1.构建摄像机模型 2.摄像机参数假定 3.像平面坐标计算 4.图像标定及数值测 ...
- Codeforces Gym 101194G Pandaria (2016 ACM-ICPC EC-Final G题, 并查集 + 线段树合并)
题目链接 2016 ACM-ICPC EC-Final Problem G 题意 给定一个无向图.每个点有一种颜色. 现在给定$q$个询问,每次询问$x$和$w$,求所有能通过边权值不超过$w$的 ...
- XJOI CSP-S2 2019开放模拟训练题1 赛后总结
比赛链接 友好数对 暴力枚举\([L,R]\)之间的所有数,将每个数进行"旋转",看是否符合题意. 注意"旋转"的次数,并不一定是数字位数.只要旋转回到了初始数 ...
- 【AtCoder】Tenka1 Programmer Contest 2019
Tenka1 Programmer Contest 2019 C - Stones 题面大意:有一个01序列,改变一个位置上的值花费1,问变成没有0在1右边的序列花费最少多少 直接枚举前i个都变成0即 ...
- 【BZOJ】2019: [Usaco2009 Nov]找工作(spfa)
http://www.lydsy.com/JudgeOnline/problem.php?id=2019 spfa裸题.....将飞机场的费用变成负,然后spfa找正环就行了 #include < ...
- 面试必备:高频算法题终章「图文解析 + 范例代码」之 矩阵 二进制 + 位运算 + LRU 合集
Attention 秋招接近尾声,我总结了 牛客.WanAndroid 上,有关笔试面经的帖子中出现的算法题,结合往年考题写了这一系列文章,所有文章均与 LeetCode 进行核对.测试.欢迎食用 本 ...
- SCOI2019 游记
写在前面 其实冬令营之后就有一些想说的内容,由于心情原因没有写出来.PKUWC 失误频频,唯一可能还有点价值的就是 Day2T3 计算几何推了 76 分出来.NOIWC 更是无心再谈,感觉是被提答送走 ...
- [WIP]C语言 realloc的坑
创建: 2019/01/07 题外话,不知不觉又一年过去了,2019也要好好努力. 回到主题,在用动态循环数组实现queue的时候, 由于realloc的原因出现了一些莫名其妙的错误. 先开个题,晚点 ...
随机推荐
- 多线程开发之NSThrea
创建并启动 先创建线程,再启动 // 创建 NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector( ...
- JavaEE--JNDI(下,实现)
参考:https://blog.csdn.net/ouyida3/article/details/46699023 https://www.landui.com/help/show-6158.htm ...
- 在linux上部署多个tomcat
1.vim /etc/profile ##########first tomcat########### CATALINA_BASE=/usr/apache-tomcat--fore CATALIN ...
- php中const和define的区别
define部分:宏不仅可以用来代替常数值,还可以用来代替表达式,甚至是代码段.(宏的功能很强大,但也容易出错,所以其利弊大小颇有争议.)宏的语法为:#define 宏名称 宏值作为一种建议和一种广大 ...
- Vue.js 之 过渡动画
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- OC中浮点数转整数的进一法和去尾法
//去尾法,最小去尾单位为0.000001 floorf(4.1)4 floorf(4.9)4 floorf(4.999999)4 floorf(4.9999999)5 //进一法,最小进位单位为0. ...
- LeetCode——221. 最大正方形
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积. 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 暴力法 ...
- UML-GoF设计模式-总结
1.GRASP 2.设计模式
- pip速度慢解决办法
pip速度慢解决办法 sudo pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 注意加不加sudo是 ...
- Tensorflow基础笔记
1.Keras是一个由Python编写的开源人工神经网络库. 2.深度学习主要应用在三个大的方向,计算机视觉,自然语言处理,强化学习 3.计算机视觉主要有:图片识别,目标检测,语义分割,视频理解(行为 ...