F. The Answer to the Ultimate Question of Life, The Universe, and Everything.

我的第一道真·打表题

这次是真的打表啊,不是初始化求值!

重现赛的时候,一直在搞在线的做法,map和unordered_map都上了,都是TLE,初始化建立两个map,然后枚举a,b再找是否有c,我算的复杂度也就  O(T*5000*10000/2)?  2e8?好像确实得T。实际复杂度或许更高 ?

unordered_map内部哈希表实现,应该可以O(1)查找呀我感觉。stl的好用归好用,复杂度还是不太清楚。

打表的方法也是刚学的,对每个x,枚举a,b,二分找c   。 反正最好就是按一定格式打表出来,直接复制存到一个数组交上去就行了。

枚举的时候注意,三个数中至少有一个非负数,a可以在0~5000,应该能少一半的时间,也许?反正能优化就上吧。

打表的适用范围:对每个输入的数据,答案固定可知,且输入的数据范围较小。数据范围较小是重点,这里要整个更大的数x,一场比赛都打不完表。

 #include <bits/stdc++.h>
#define debug(x) cout << #x << ": " << x << endl
using namespace std;
typedef long long ll;
const int MAXN=2e5+;
const int INF=0x3f3f3f3f;
const int MOD=1e9+; int ans[][]=
{
-,,,
-,,,
-,-,,
-,,,
,,,
,,,
-,-,,
-,,,
-,,,
-,-,,
-,-,,
-,-,,
-,,,
,,,
,,,
-,-,,
-,-,,
-,,,
-,-,,
-,,,
-,-,,
-,-,,
,,,
,,,
-,,,
-,,,
-,,,
-,,,
-,-,,
-,-,,
,,,
,,,
,,,
,,,
-,-,,
-,-,,
-,,,
-,-,,
-,,,
,,,
,,,
,,,
,,,
-,-,,
-,-,,
-,,,
-,-,,
-,,,
-,-,,
,,,
,,,
-,,,
,,,
-,,,
-,-,,
-,,,
-,,,
-,,,
,,,
,,,
-,-,,
-,,,
-,-,,
-,,,
-,,,
-,,,
,,,
,,,
,,,
-,,,
-,,,
-,,,
-,-,,
-,-,,
,,,
,,,
,,,
,,,
-,-,,
-,-,,
-,-,,
-,-,,
-,,,
-,,,
,,,
,,,
,,,
-,-,,
-,-,,
-,,,
-,,,
-,-,,
-,,,
-,-,,
,,,
,,,
-,,,
-,-,,
-,-,,
-,-,,
-,-,,
-,,,
-,,,
,,,
,,,
-,-,,
-,-,,
-,,,
-,-,,
-,,,
,,,
-,-,,
,,,
,,,
,,,
-,,,
-,-,,
-,-,,
-,,,
-,-,,
-,,,
,,,
,,,
-,-,,
-,,,
-,,,
-,-,,
-,-,,
-,-,,
-,-,,
,,,
,,,
-,,,
-,,,
-,-,,
-,-,,
-,,,
-,-,,
-,-,,
,,,
,,,
-,,,
-,-,,
,,,
-,-,,
-,-,,
-,-,,
-,,,
,,,
,,,
-,,,
-,,,
-,,,
-,-,,
-,-,,
-,-,,
,,,
,,,
,,,
-,,,
-,-,,
-,-,,
-,-,,
-,-,,
-,-,,
,,,
,,,
,,,
-,-,,
-,-,,
-,-,,
-,,,
,,,
,,,
-,-,,
,,,
,,,
-,-,,
-,-,,
-,,,
,,,
-,,,
-,-,,
-,,,
,,,
,,,
-,,,
-,-,,
-,,,
-,-,,
-,-,,
-,-,,
-,,,
,,,
,,,
,,,
-,-,,
-,-,,
-,-,,
-,,,
-,-,,
}; ll qq[][]; ll check(ll t)
{
ll l=-,r=,res=INF;
while(l<=r)
{
ll mid=l+r>>;
ll tmp=mid*mid*mid;
if(tmp==t) return mid;
if(tmp>t) r=mid-;
else l=mid+;
}
return res;
} int main()
{
int t;
//init(); /* for(ll x=0;x<=200;++x)
{
ll c=INF;
for(ll i=-5000;i<=5000;++i)
{
for(ll j=-5000;j<=5000;++j)
{
ll t=x-i*i*i-j*j*j;
c=check(t);
if( abs(c)<=5000)
{
printf("%lld,%lld,%lld,\n",i,j,c);
break;
}
}
if( abs(c)<=5000) break;
}
if( abs(c)<=5000) continue;
else printf("11111,0,0,\n");
}*/
cin>>t;
while(t--)
{
int x;
cin>>x;
if(ans[x][]==) cout<<"impossible"<<endl;
else cout<<ans[x][]<<' '<<ans[x][]<<' '<<ans[x][]<<endl;
}
return ;
}

2019icpc徐州区域赛F的更多相关文章

  1. Tournament ZOJ - 4063 (青岛区域赛 F 打表)

    打表题.. 规律是找出来了 奈何优化不了 .... #include <iostream> #include <cstdio> #include <sstream> ...

  2. HDU 4818 RP problem (高斯消元, 2013年长春区域赛F题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4818 深深地补一个坑~~~ 现场赛坑在这题了,TAT.... 今天把代码改了下,过掉了,TAT 很明显 ...

  3. 2018-2019 ACM-ICPC 徐州区域赛 部分题解

    题目链接:2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest A. Rikka with Minimum Spanning Trees 题意: 给出一个随 ...

  4. 高精度乘法-17南宁区域赛F -The Chosen One

    题目大意:给你一个n,然后从1~n隔一个选一个,挑出一个集合然后从集合中继续隔一个挑一个,直到只有一个数,问最后一个数是多少?2<=n<=1050 例如n=5,先选出2,4最后选择4.n= ...

  5. 2018 icpc 徐州网络赛 F Features Track

    这个题,我也没想过我这样直接就过了 #include<bits/stdc++.h> using namespace std; ; typedef pair<int,int> p ...

  6. 17 南宁区域赛 F - The Chosen One 【规律】

    题目链接 https://nanti.jisuanke.com/t/19972 题意 给出一个n 然后将 n 个数 标号为 1 -> n 按顺序排列 每次抽掉 奇数位的数 然后求最后剩下那个数字 ...

  7. 2018ICPC徐州区域赛网络赛G(VECTOR+SET,模拟)

    #include<bits/stdc++.h>using namespace std;int x,y;vector<int>v1,v2;long long solve(vect ...

  8. 2018ICPC徐州区域赛网络赛B(逆序枚举或者正序深度搜索)

    #include<bits/stdc++.h>using namespace std;int n,m,k,l;int x[1007],y[1007],z[1007];int dp[1007 ...

  9. HDU 4786 最小生成树变形 kruscal(13成都区域赛F)

    Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

随机推荐

  1. MATLAB数值计算——0

    目录 MATLAB数值计算 1.solve() 2.fzero() 3.fsolve() MATLAB数值计算 MATLAB中文论坛基础板块常见问题归纳(出处: MATLAB中文论坛) 登录http: ...

  2. 【SSL1455&1456】 电子老鼠闯迷宫 & 骑士游行

    考点概况: 广搜板子 题面: \[\Large\text{电子老鼠闯迷宫}\] \[Time~Limit:1000MS~~Memory~Limit:65536K\] Description 如下图12 ...

  3. split分割(拆分)文件

    split分割(拆分)文件 需求:指定文件大小拆分文件 # ll -h test/ |grep vmcore -rw-r--r-- 1 root root  12G 12月  7 00:20 vmco ...

  4. TensorFlow2.0

    安装开发环境 1.首先安装 anaconda(https://www.anaconda.com/) 2.修改anaconda的镜像源 conda config --add channels https ...

  5. CSS与JavaScript小结

    一.css 全称Cascading Style Sheets,层叠样式表,具体的作用是美化页面,让页面中显得更加美观. 1.使用方式 在HTML页面中有三个地方可以使用,分别是标签内,头部标签中以及在 ...

  6. Python不再为字符集编码发愁,使用chardet轻松解决你的困扰。

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  7. ceph分布式存储

    存储分类: DAS:直连存储    ide线  sata线   usd线   sas线 NAS:网络附加存储   nfs   samba   ftp SAN:存储区域网络      issci SDS ...

  8. Linux内核最顶层文档

    Linux 内核文档 该文件是 Linux 内核文档树中最顶层的,会随着内核一起更新:其目的是把散乱的文档集成为一个逻辑清晰的完整版,非常欢迎改善文档,如果想做出自己的贡献,加入vger.kernel ...

  9. enumerate用法总结

    enumerate在字典上是枚举.列举的意思 对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值 enumerat ...

  10. centos与内核版本对应关系

    centos是基于redhat的二次开发,redhat会封装不同版本的内核,有时候,我们需要指定内核版本的centos,下面两个网站或许对你有帮助: https://access.redhat.com ...