[codeforces] 449C Jzzhu and Apples
原题
质因数分解后贪心即可(最后贪2)
#include<cstdio>
#include<vector>
#include<stack>
#include<vector>
#include<cstring>
#define N 100010
using namespace std;
bool is[N],mk[N];
int prime[N],num=1,cnt,n,a,b;
stack <int> ans;
vector <pair <int,int> > v;
int main()
{
memset(is,1,sizeof(is));
for (int i=2;i<=100000;i++)
{
if (is[i]) prime[++cnt]=i;
for (int j=1;j<=cnt && i*prime[j]<=100000;j++)
{
is[i*prime[j]]=0;
if (i%prime[j]==0) break;
}
}
scanf("%d",&n);
for (int i=2;i<=cnt && prime[i]<=n;i++)
{
num=1;
while(!ans.empty()) ans.pop();
ans.push(prime[i]);
mk[prime[i]]=1;
for (int j=3*prime[i];j<=n;j+=prime[i])
{
if (mk[j]) continue;
mk[j]=1;
ans.push(j);
num++;
}
if (num&1 && 2*prime[i]<=n && !mk[2*prime[i]])
{
mk[2*prime[i]]=1;
ans.push(2*prime[i]);
}
while (ans.size()>1)
{
a=ans.top();
ans.pop();
b=ans.top();
ans.pop();
v.push_back(make_pair(a,b));
}
}
while(!ans.empty()) ans.pop();
num=0;
for (int i=2;i<=n;i+=2)
{
if (mk[i]) continue;
ans.push(i);
mk[i]=1;
}
while (ans.size()>1)
{
a=ans.top();
ans.pop();
b=ans.top();
ans.pop();
v.push_back(make_pair(a,b));
}
int s=v.size();
printf("%d\n",s);
for (int i=0;i<s;i++)
printf("%d %d\n",v[i].first,v[i].second);
return 0;
}
[codeforces] 449C Jzzhu and Apples的更多相关文章
- Codeforces 449C Jzzhu and Apples 贪心 (看题解)
Jzzhu and Apples 从大的质因子开始贪心, 如果有偶数个则直接组合, 如果是奇数个留下那个质数的两倍, 其余两两组合. #include<bits/stdc++.h> #de ...
- Codeforces Round #257 (Div. 2) E题:Jzzhu and Apples 模拟
E. Jzzhu and Apples time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces 449.C Jzzhu and Apples
C. Jzzhu and Apples time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces 450E:Jzzhu and Apples(构造,数学)
E. Jzzhu and Apples time limit per test: 1 seconds memory limit per test: 256 megabytes input: stand ...
- CF449C Jzzhu and Apples (筛素数 数论?
Codeforces Round #257 (Div. 1) C Codeforces Round #257 (Div. 1) E CF450E C. Jzzhu and Apples time li ...
- CF449 C. Jzzhu and Apples
/* http://codeforces.com/problemset/problem/449/C cf 449 C. Jzzhu and Apples 数论+素数+贪心 */ #include &l ...
- CodeForces 450B Jzzhu and Sequences (矩阵优化)
CodeForces 450B Jzzhu and Sequences (矩阵优化) Description Jzzhu has invented a kind of sequences, they ...
- CF 450E Jzzhu and Apples 数学+模拟
E. Jzzhu and Apples time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces C. Jzzhu and Cities(dijkstra最短路)
题目描述: Jzzhu and Cities time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
随机推荐
- 深入理解java虚拟机学习笔记(二)垃圾回收策略
上篇文章介绍了JVM内存模型的相关知识,其实还有些内容可以更深入的介绍下,比如运行时常量池的动态插入,直接内存等,后期抽空再完善下上篇博客,今天来介绍下JVM中的一些垃圾回收策略. 一. ...
- linux-shell——03
mkdir 创建一个新目录格式: mkdir [选项-p][路径]目录名 -p 递归创建多级目录 mkdir -p b/c/e/f/g rmdir 删除一个空目录 touch 创建一个空文件,更新文件 ...
- Color Length UVA - 1625 DP
题目:题目链接 题意:输入两个长度分别为n和m的颜色序列,要求按顺序合并成同一个序列,即每次可以把一个序列开头的颜色放到新序列的尾部.对于每个颜色c来说,其跨度L(c)等于最大位置和最小位置之差,输出 ...
- 12-optionBinding
1-创建一个空的dotnet mvc网站 2- 创建appsettings.json文件, 这文件会默认被绑定 { "ClassNo": "1", " ...
- Matplotlib库介绍
pyplot的plot()函数 pyplot的中文显示 pyplot的文本显示 pyplot的子绘图区域
- 修改 cmd 字体为 Consolas
windows 下的 cmd 窗口默认的字体有点难看,长时间使用操作 node.js 有点小疲劳,可以修改注册表替换字体为 Consolas,并且可以全屏 cmd 窗口,代码如下: Windows R ...
- CSS3 Flexbox(伸缩盒/弹性盒模型)可视化指南
在http://css.doyoe.com/(CSS参考手册)中,本文对应其中的伸缩盒 引入 Flexbox布局官方称为CSS Flexible Box Layout Module是一个CSS3新的布 ...
- Hibernate---架构
Hibernate 架构是分层的,作为数据访问层,你不必知道底层 API .Hibernate 利用数据库以及配置数据来为应用程序提供持续性服务(以及持续性对象). 下面是一个非常高水平的 Hiber ...
- Still unable to dial persistent://blog.csdn.net:80 after 3 attempts
动不动电脑有些网站打不开了,还报错: Still unable to dial persistent://blog.csdn.net:80 after 3 attempts 为什么呢? 是dns坏了? ...
- textView代码设置文字居中失效 textView设置文字居中两种方法
1.TextView的高度占据整个父控件的高度,然后设置TextView的Grayvity Center就可以了. 2.如果第一个方法不行,那么,textView的高度设置为warp_content, ...