Codeforces 1130 E.Wrong Answer 构造
题目要求构造一组数据使得题目给出代码的anwser和正确答案恰好相差k,我们记题目给出代码的输出为ans1,正确答案为ans2。
我们假设已经有总和为s的p个正数,使得此时的ans1=ans2=s*p,然后我们在左端添加一串长度为q,并且总和为-1的数,此时ans1=s*p,ans2=(s-1)*(p+q).
此时我们让ans2-ans1=k,于是我们推到得出s*(q-1)=k+p。
那么我们就可以通过枚举p,然后求k+p的因子,来判断是否存在合法方案。
显然p+q<=2000,并且由于p个数的总和应该达到k,所以p*1e6<=k ,然后另外的q个数和应该为-1,这个显然q为任意数都能构造出合法方案。
以下为具体代码。
#include<bits/stdc++.h>
using namespace std;
int i,i0,n,m;
int main()
{
scanf("%d",&n);
for(int p=1;p<=2000;p++)
{
for(i=1;i*i<=n+p;i++)
{
if((n+p)%i==0)
{
int q,k;
q=i,k=(n+p)/q+1;
if(q+p<=2000&&k<=(long long)1000000*p)
{
printf("%d\n",p+q);
for(i=1;i<q;i++)printf("0 ");
printf("-1");
for(i=1;i<=p;i++)
{
if(k>=1000000)printf(" 1000000"),k-=1000000;
else printf(" %d",k),k=0;
}
return 0;
}
q=(n+p)/i,k=i+1;
if(q+p<=2000&&k<=(long long)1000000*p)
{
printf("%d\n",p+q);
for(i=1;i<q;i++)printf("0 ");
printf("-1");
for(i=1;i<=p;i++)
{
if(k>=1000000)printf(" 1000000"),k-=1000000;
else printf(" %d",k),k=0;
}
return 0;
}
}
}
}
printf("-1\n");
return 0;
}
Codeforces 1130 E.Wrong Answer 构造的更多相关文章
- CF - 1130 E Wrong Answer
PS:换了一种方式 希望大家喜欢 2333 /** code by: zstu wxk time: 2019/03/01 Problem Link: http://codeforces.com/con ...
- Codeforces 743C - Vladik and fractions (构造)
Codeforces Round #384 (Div. 2) 题目链接:Vladik and fractions Vladik and Chloe decided to determine who o ...
- Educational Codeforces Round 10 B. z-sort 构造
B. z-sort 题目连接: http://www.codeforces.com/contest/652/problem/B Description A student of z-school fo ...
- Codeforces 707C Pythagorean Triples(构造三条边都为整数的直角三角形)
题目链接:http://codeforces.com/contest/707/problem/C 题目大意:给你一条边,问你能否构造一个包含这条边的直角三角形且该直角三角形三条边都为整数,能则输出另外 ...
- Codeforces 1246D/1225F Tree Factory (构造)
题目链接 https://codeforces.com/contest/1246/problem/D 题解 首先考虑答案的下界是\(n-1-dep\) (\(dep\)为树的深度,即任何点到根的最大边 ...
- Codeforces - 1202D - Print a 1337-string... - 构造
https://codeforces.com/contest/1202/problem/D 当时想的构造是中间两个3,然后前后的1和7组合出n,问题就是n假如是有一个比较大的质数因子或者它本身就是质数 ...
- CodeForces - 803C Maximal GCD 【构造】
You are given positive integer number n. You should create such strictly increasing sequence of k po ...
- Codeforces 1368E - Ski Accidents(构造+思维)
Codeforces 题面传送门 & 洛谷题面传送门 神仙构造题(不过可能我构造太烂了?) 首先考虑这个奇奇怪怪的 \(\dfrac{4}{7}\),以及这个每个点出度最多为 \(2\) 的条 ...
- Codeforces 1270E - Divide Points(构造+奇偶性)
Codeforces 题目传送门 & 洛谷题目传送门 显然,直接暴力枚举是不可能的. 考虑将点按横纵坐标奇偶性分组,记 \(S_{i,j}=\{t|x_t\equiv i\pmod{2},y_ ...
随机推荐
- 大话JVM(一):垃圾收集算法
系列介绍|本系列主要是记录学习jvm过程中觉得重要的内容,方便以后复习 在说垃圾收集算法之前,先要说一下垃圾收集,从大的讲,垃圾收集需要考虑三件事情: 1.哪些内存需要回收 2.什么时候回收 3.如 ...
- java获得Tomcat服务器的根目录下的内容
File f2=new File(System.getProperty("catalina.home")+ File.separator+"webapps"+F ...
- R语言与.net 集成开发入门
首先:R语言的基本教程: https://www.yiibai.com/r/r_environment_setup.html 下载R语言的安装包:https://cran.r-project.org/ ...
- Redis 学习资料目录(Important)
redis学习路线: 以下是整理的学习redis优秀博客和优秀网站 一.原理: 1. redis命令在线操作 http://try.redis.io/ 2. 中文命令解释: Redis 命令参考 - ...
- 纪念Vamai
知道Vamei这位博主去世的消息有些日子啦,在他的豆瓣主页也留下了只言片语,他写的协议森林让我印象深刻,在博客园也是我关注列表里的一位. 本来没打算写一篇文来说Vamei去世的事情,不过意外之是加 ...
- mysql + excel 校正线上数据
积分问题处理 1. 所有应补汇总 select driver_id, SUM(integral) from detail_score group by driver_id; 2. 原汇总积分 sele ...
- AngularJS之过滤器
AnularJS的过滤器用来格式化需要展示给用户的数据,有很多实用的内置过滤器,也可以自己编写. 在HTML中的模板绑定符号{{ }}内通过|符号来调用过滤器.例如,假设我们希望将字符串转换成大写,可 ...
- mysql 删除某一个数据库下面的所有表,但不删除数据库
删除某一个数据库下面的所有表,但不删除数据库.该语句经过从concat拼接,最后查询出来的是删除表的语句,然后执行那些查询出来的语句就ok了select concat(‘drop table ‘,ta ...
- C# 2个List<T>比较内部项是否相等(全部相等则相等,反之不相等)
static void Main(string[] args) { List<string> a = new List<string>() { "a", & ...
- 浏览器根对象navigator之客户端检测
Navigator的5个主要属性: appName:Web浏览器的名称 appVersion:浏览器的版本号和其他版本信息 userAgent:浏览器在它的USER-AGENT HTTP标题中发送的字 ...