CF45G Prime Problem 构造+数论
正解:构造+数论
解题报告:
maya这题好神仙啊我jio得,,,反正我当初听的时候是没有太懂的,,,
首先这题你要知道一些必要的数学姿势
比如哥德巴赫猜想巴拉巴拉的
然后直接讲题趴QAQ
首先看到说,分成质数之后,不难想到哥德巴赫猜想(,,,什么鬼辣我连哥德巴赫猜想的内容都不清楚哪里不难想到了QAQ
(哥德巴赫猜想:任一大于2的偶数可分为不同俩质数之和)
然后对这n个数的和:sum=n*(n+1)/2分类讨论
1)sum为质数 欧克分成一组就成了!
2)sum为非2偶数 利用哥德巴赫猜想分成俩质数之和凑出来就成了!
3)sum为奇合数,sum-2是质数 显然变成2和质数就好
4)sum为奇合数,sum-2也是奇合数 找出一个奇质数x,显然sum-x后成为情况2(其实情况34可以匹配成一种后QwQ
没了,好妙鸭
放下代码就结束辣!
#include<bits/stdc++.h>
using namespace std;
#define il inline
#define rg register
#define ll int
#define rp(i,x,y) for(rg ll i=x;i<=y;++i) const ll N=+;
ll n,as[N],sum; inline ll read()
{
rg ll x=;rg bool y=;rg char ch=getchar();
while(ch!='-' && (ch>'' || ch<''))ch=getchar();
if(ch=='-')ch=getchar(),y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=getchar();
return y?x:-x;
}
inline bool chck(ll x)
{
for(rg ll i=;i*i<=x;++i)if(x%i==)return ;
return ;
} int main()
{
n=read();sum=n*(n+)/;
if(chck(sum)){rp(i,,n)printf("1 ");return ;}
if(sum&)
{
if(chck(sum-)){printf("1 2 ");rp(i,,n)printf("1 ");return ;}
as[]=;sum-=;
rp(i,,n)if(chck(i) && chck(sum-i)){as[i]=;break;}
rp(i,,n)printf("%d ",as[i]+);
return ;
}
rp(i,,n)if(chck(i) && chck(sum-i)){as[i]=;break;}
rp(i,,n)printf("%d ",as[i]+);
return ;
}
CF45G Prime Problem 构造+数论的更多相关文章
- 【题解】CF45G Prime Problem
[题解]CF45G Prime Problem 哥德巴赫板子题? \(\frac{n(n+1)}{2}\)若是质数,则不需要分了. 上式 若是奇数,那么拆成2和另一个数. 上式 若是偶数吗,直接\(O ...
- [CF45G]Prime Problem
题目大意:将$1$到$n(1<n\leqslant6000)$分成若干组数,要求每组数的和均为质数,若存在一种分配方式,输出每个数所在的组的编号,有多组解输出任意一组解,若不存在,输出$-1$ ...
- USACO Prime Palindromes 构造回文数
这道题目一点也不卡素数的判断 就是朴素的sqrt(n) 也不卡 所以~放心的用吧. 构造回文的时候看了HINT 其中是这么写的: Generate palindromes by combining d ...
- Codeforces 1019C Sergey's problem 构造
原文链接https://www.cnblogs.com/zhouzhendong/p/CF1019C.html 题目传送门 - CF1019C 题意 给定一个有 $n$ 个节点 . $m$ 条边的有向 ...
- HDU 5402 Travelling Salesman Problem (构造)(好题)
大致题意:n*m的非负数矩阵,从(1,1) 仅仅能向四面走,一直走到(n,m)为终点.路径的权就是数的和.输出一条权值最大的路径方案 思路:因为这是非负数,要是有负数就是神题了,要是n,m中有一个是奇 ...
- [E. Ehab's REAL Number Theory Problem](https://codeforces.com/contest/1325/problem/E) 数论+图论 求最小环
E. Ehab's REAL Number Theory Problem 数论+图论 求最小环 题目大意: 给你一个n大小的数列,数列里的每一个元素满足以下要求: 数据范围是:\(1<=a_i& ...
- 【CF1174D】 Ehab and the Expected XOR Problem - 构造
题面 Given two integers \(n\) and \(x\), construct an array that satisfies the following conditions: · ...
- POJ 1365 Prime Land(数论)
题目链接: 传送门 Prime Land Time Limit: 1000MS Memory Limit: 10000K Description Everybody in the Prime ...
- BZOJ 2301: [HAOI2011]Problem b( 数论 )
和POI某道题是一样的... http://www.cnblogs.com/JSZX11556/p/4686674.html 只需要二维差分一下就行了. 时间复杂度O(MAXN + N^1.5) - ...
随机推荐
- C++ template —— trait与policy类(七)
第15章 trait与policy类---------------------------------------------------------------------------------- ...
- 关于vc工程包含多个lib库老是提示无法打开问题
在一个VC项目中,我要包含五个lib库,我在连接器->常规->附加库目录中输入了正确的库包含路径,然后再连接器->输入->附加依赖项中输入:ws2_32.lib;wsock32 ...
- erlang安装
在linux安装erlang只能下载源码安装包来安装,可以到erlang官方网站上下载
- Web负载均衡与分布式架构
参考帖子: Web负载均衡的几种实现方式 大型网站架构系列:负载均衡详解(上) DNS 原理入门 解决nginx负载均衡的session共享问题 什么是消息队列 Java应用架构的演化之路 Java ...
- PHP 简易导出excel 类解决Excel 打开乱码
<?php class exportCsv{ //列名 protected $_column = array(); protected $_reg = array(); public $ret ...
- open-falcon之HBS
功能 处理agent心跳请求,并将agent信息(ip.hostname.agent_version.plugin_version)等信息入库(portal库) 为agent提供执行run api的白 ...
- 机器学习实战-KNN
KNN算法很简单,大致的工作原理是:给定训练数据样本和标签,对于某测试的一个样本数据,选择距离其最近的k个训练样本,这k个训练样本中所属类别最多的类即为该测试样本的预测标签.简称kNN.通常k是不大于 ...
- <转>Python: and、or以及and-or
转自 http://www.cnblogs.com/BeginMan/p/3197123.html 一.and: 在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不 ...
- 【大数据系列】Hive安装及web模式管理
一.什么是Hive Hive是建立在Hadoop基础常的数据仓库基础架构,,它提供了一系列的工具,可以用了进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在Hadoop中的按规模数据的 ...
- 原生js--类、原型、构造函数
1.类和原型:原型对象是类的核心,类的所有实例都从同一个原型上继承属性和方法,原型对象是类的唯一标识 2.类和构造函数:构造函数通过new关键字来创建对象,构造函数的prototype属性被用作新对象 ...