19-10-23-K-Aft
没改完题就过来沽博客是不是有点不好……
ZJ一下:
好好好题。
T1数组大小……
$$10^7 \rightarrow 60$$
事实上……
$$7 \times 10^7 \rightarrow 0$$
$kuku$
重点是,我还开了$7\times 10^7$个 vector
一定要检查检查代码,一定要!不要因为数组开小挂部分分,也不要因为数组开大挂全部分
$\huge QAQ$
|
44
|
Miemeng | 0
03:12:34
|
8
03:12:37
|
30
03:12:36
|
38
03:12:37
|
T1
因为$\log$会被卡,于是直接开$B$个队列,这样通过向队尾增加元素来维护单调。
这样就直接优化掉一个$\log$
复杂度:$\Theta(KB)$
(直接开$7 \times 10^7$的就行,作者是不会叫你MLE的=。=)
#include <iostream>
#include <climits>
#include <cstring>
#include <cstdio>
#define B 17
#define LL unsigned long long
#define N 11111111 using namespace std; const LL pri[B]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47};
template<typename Tp>
class Myqueue{
Tp A[N];int f,b;
public:
Myqueue(){f=b=0;}
void clear(){f=b=0;}
void push(const Tp k){A[b++]=k;}
void pop(){f++;}
Tp front(){return A[f];}
bool empty(){return f==b;}
void pour(){
puts("------------");
for(int i=f;i<b;i++)
cout<<A[i]<<" ";
cout<<endl;
puts("------------");
}
};
int kth,b;
Myqueue<LL>qs[B];
void prerun(){
for(int i=1;i<=b;i++)qs[i].push(pri[i]);
}
main(){
cin.sync_with_stdio(false);
cin>>b>>kth;
prerun();
int cnt=1;
LL minn;
while(cnt<kth){
// if(cnt>850000)\
for(int i=1;i<=b;i++){\
cout<<pri[i]<<":\n";\
qs[i].pour();\
}
minn=LLONG_MAX;
int id;
for(int i=1;i<=b;i++){
if(!qs[i].empty()&&minn>qs[i].front()){
minn=qs[i].front();
id=i;
}
}
qs[id].pop();
cnt++;
for(int i=id;i<=b;i++){
qs[i].push(minn*pri[i]);
}
}
cout<<minn<<endl;
}
T2
没有过,
但是可以传($zhu\grave{a}n$)达题解思想。
首先使用记忆化搜索,
状态由两部分组成,
当前队列中总共有的质因子情况,
有共同因子的数在质因子层面上的数对情况。
用第二个来保证不会有三个数有共同的质因子。
(说实话我不会)
T3
又没有过
很神奇的一道题,因为有错的,但不超过$1 \over 2$
于是使用随机化,每两个坐标对可以求出一组可能解。
$check$一下,尝试$50$次,
非酋全没找到正解的概率$(\frac{3}{4})^{50} \approx 0.000000566$
19-10-23-K-Aft的更多相关文章
- 10.23 正睿停课训练 Day7
目录 2018.10.23 正睿停课训练 Day7 A 矩形(组合) B 翻转(思路) C 求和(思路 三元环计数) 考试代码 B1 B2 C 2018.10.23 正睿停课训练 Day7 期望得分: ...
- 19.10.14-Q
小$P$的咕事 总结: 还行,就是$T1$写的慢了,$T2,T3$暴力有点锅 T1 小模拟. 打就是了. 可以小小的手玩一下. (考试的时候某同志人肉对拍了$20min$)=.= 418 ms 360 ...
- 背水一战 Windows 10 (23) - MVVM: 通过 Binding 或 x:Bind 结合 Command 实现,通过 ButtonBase 触发命令
[源码下载] 背水一战 Windows 10 (23) - MVVM: 通过 Binding 或 x:Bind 结合 Command 实现,通过 ButtonBase 触发命令 作者:webabcd ...
- cat hesA/Models/score_tgt.sc| awk '{ print $2,$19}' | sort -n -k 1
cat hesA/Models/score_tgt.sc| awk '{ print $2,$19}' | sort -n -k 1 print the second collum in order
- 给定整数a1、a2、a3、...、an,判断是否可以从中选出若干个数,使得它们的和等于k(k任意给定,且满足-10^8 <= k <= 10^8)。
给定整数a1.a2.a3.....an,判断是否可以从中选出若干个数,使得它们的和等于k(k任意给定,且满足-10^8 <= k <= 10^8). 分析:此题相对于本节"寻找满 ...
- Daily Scrum 10.23
(写于10.22周四) 说下现在的人员情况: 康家华请假至下周一,刘彦熙至周五18:00,张启东至周六中午. 其他人正常工作. 然后是现在的进度情况: 已经完成服务器数据库搭建,以及基础的注册登陆功能 ...
- Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24
作者 | 木苏.进超.冬岛.元毅.心水.衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言.混合云环境.完全可扩展.初期支持 ...
- [Linux] 在 Ubuntu 19.10 上开启 SSH 服务并允许远程登录
在 Ubuntu 19.10 上安装 SSH,并开启服务 0.检查并确认系统当前是否已安装SSH: sudo ps -e | grep ssh 如果只有 ssh-agent 说明 ssh-server ...
- [Linux] 树莓派 4B 安装 Ubuntu 19.10 (Eoan Ermine) IOT 版
硬件:Raspberry Pi 4B系统:Ubuntu 19.10 (Eoan Ermine) for IOT官网:https://ubuntu.com/download/iot/raspberry- ...
- Ubuntu 19.10 安装 jupyter
安装pip3 ubuntu 19.10 已经没有python了,取代的是python3. 执行sudo apt install python3-pip安装pip3 安装jupyter 执行sudo p ...
随机推荐
- 思维题+栈的应用——cf1092D有意思
第一例很简单,把两个差为偶数的列不断合并即可 这种不需要撤销的合并相连数直接用栈来做 /* 如果相邻两列高度差为偶数 那么可以直接消去 */ #include<bits/stdc++.h> ...
- kubernetes 强制删除istio-system空间,强制删除pod
加上这个选项 --grace-period=0 --force--grace-period=0 --force 先删除deployment,pod,svc再删除namespace > kubec ...
- AutoMapper 在你的项目里飞一会儿
先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已. 为什么要用DTO? 1.DTO更注重数据,对领域对 ...
- php 扫描url死链接 \033[31m ANSI Linux终端输出带颜色
* 从Packagist上搜索需要的包 https://packagist.org/ * 通过composer下载依赖包 composer require guzzlehttp/guzzlecompo ...
- Hadoop 平台搭建
一.在Linux中安装JDK并配置环境变量 输入javac 查看是否已安装java环境如果没有安装 sudo apt-get install openjdk-7-jdk再次检测 javac修改配置参数 ...
- 第十八篇:java操作Excel要处理和分辨的几个概念
工具:org.apache.poiExcel格式:.xls(03,存储量小些):.xlsx(07以上) 首先明确这点:给你一个装满数据的Excel,并不能保证每行都有数据,每一行并不能保证每个单元格都 ...
- 2019-8-31-PowerShell-通过-WMI-获取系统安装软件
title author date CreateTime categories PowerShell 通过 WMI 获取系统安装软件 lindexi 2019-08-31 16:55:58 +0800 ...
- scull 的内存使用
scull 使用的内存区, 也称为一个设备, 长度可变. 你写的越多, 它增长越多; 通过使用 一个短文件覆盖设备来进行修整. scull 驱动引入 2 个核心函数来管理 Linux 内核中的内存. ...
- BZOJ1597: [Usaco2008 Mar]土地购买——斜率优化
题目大意: 将$n$个长方形分成若干部分,每一部分的花费为部分中长方形的$max_长*max_宽$(不是$max_{长*宽}$),求最小花费 思路: 首先,可以被其他长方形包含的长方形可以删去 然后我 ...
- Ansible-playbook简单应用的几个实例
①ansible-playbook的循环: 重复执行某任务:对迭代项的引用,固定变量名为“item”,而后要在task中使用with_items给定要迭代的元素列表,列表方法:字符串/字典(类似jso ...