题意:

分解整数,将一个整数分解成多个数的平方和;

理解:

开始我以为可以暴力枚举,然后发现n是1e14次方;

过不了,然后翻书发现是尺取法;

就用尺取法写了;

但是报了我一个超空间...

随后算了下空间...果然用了1e7个longlong的字节;

然后想啊....

最后受大神影响,发现可以不用数组...

结果只用了180k...

代码如下:

#include <cstdio>#include <algorithm>
#include <vector>using namespace std;typedef long long ll;
typedef pair<int, int> pii;#define x first
#define y secondll n;
vector<pii> v_a;void search()
{ll sum = 0, j = 1, i = 1;while (i * i <= n && j * j <= n){while (sum < n && i * i <= n){sum += i * i;++i;}while (sum > n){sum -= j * j;++j;}if (sum == n){v_a.push_back(pii(j, i - j));sum -= j * j;++j;}}
}bool cmp(pii p1, pii p2)
{return p1.x > p2.x;
}int main()
{scanf("%lld", &n);search();printf("%d\n", v_a.size());sort(v_a.begin(), v_a.end(), cmp);for (int i = v_a.size() - 1; i >= 0; --i){printf("%d ", v_a[i].y);for (int j = v_a[i].x; j < v_a[i].x + v_a[i].y; ++j)printf("%d ", j);printf("\n");}return 0;
}

poj2100尺取法相关推荐

  1. NUC1840 Graveyard Design【尺取法】

    Graveyard Design 时间限制: 10000ms 内存限制: 64000KB 通过次数: 1总提交次数: 1 问题描述 King George has recently decided t ...

  2. 尺取法 — 详解 + 例题模板(全)

    尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案.尺取法比直接暴力枚举区间效率高很多 ...

  3. ACM常用的解题技巧:尺取法

    常用的解题技巧:尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案.之所以需要 ...

  4. ACM常用的解题技巧:尺取法及相关例题

    常用的解题技巧:尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案.之所以需要 ...

  5. ACM尺取法常见题解

    大佬博客地址 常用的解题技巧:尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答 ...

  6. ACM常用技巧之尺取法--POJ3061/3320/2739/2100

    尺取法:反复推进区间的开头和结尾,来求取满足条件的最小区间的方法  .    <挑战程序设计>P146 POJ3061 Subsequence Time Limit: 1000MS   M ...

  7. CF660C Hard Process(尺取法)

    整理的算法模板合集: ACM模板 尺取法 题目中要我们求最多改变k次后连续的1的最长长度.那么转换一下,不就是求至多包含k个0的子串的最长长度吗? 直接套用尺取法的思想,维护两端点,一旦0的个数超过k ...

  8. 【常用技巧精选】尺取法

    整理的算法模板合集: ACM模板 目录 1.反向扫描 1 找指定和的整数对 A.UVA1121 Subsequence B.POJ 3320 Jessica's Reading Problem C.l ...

  9. ACM—各种模拟 总结(字符串,尺取法,数学问题)习题汇总

    目录 一.字符串模拟 二. 高精度计算 1. 回文数(高精度,进制转换) 三.数学问题模拟 四.尺取法(双指针法) 1.都说小镇的切糕贵 (尺取法,字符串) umi和弓道 五.奇怪的模拟 x的位数=l ...

最新文章

  1. HTML的input类型为hidden导致无法reset改字段的value问题
  2. 数据库中的DML,DCL,DDL分别是那些操作?
  3. id选择器、标签选择器、类选择器、交集选择器、并集选择器
  4. 天才基本法_《天才基本法》强推!年度神仙小说,看完这本书我竟然爱上了数学...
  5. idea远程调试修改代码_IDEA远程调试(Remote Debug)Java代码指南
  6. MySQL + MyBatis 批量插入时存在则忽略或更新记录
  7. opencv 的norm_OpenCV视频分析-Meanshift、Camshiftamp;运动轨迹绘制
  8. 中国流动相配件行业市场供需与战略研究报告
  9. Java进阶1. Synchronized 关键字
  10. 低照度图像修复方法总结
  11. HDFS-异常大全-《每日五分钟搞定大数据》
  12. python从js文件中取数据_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程...
  13. M. Bottle Arrangements
  14. xcode编译错误:The Legacy Build System will be removed in a future release.
  15. 电子DIY:用单片机设计一款USB游戏手柄
  16. WAP中利用截取手机号码达到自动登入的一段源码(转)
  17. Python黑马程序员学习路线
  18. 什么是IDC?数据中心该如何选择?
  19. Activiti使用教程
  20. 答题小程序自学(一)

热门文章

  1. 手动输入三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。
  2. LWN: 在Linux kernel里应用profile-guided optimization!
  3. 分享个人简历思维导图模板
  4. 关于坦克大战的简单移动以及子弹发射
  5. 代码精进之路-设计模式-拦截器链模式
  6. 包子和馒头的恩怨完全版
  7. 绘画软件兼容性测试,功能测试-兼容性测试
  8. 【基础算法】哈希表(拉链法)
  9. T4M插件放入unity后怎么找不到_Unity制作人专场 | 闪耀暖暖从2D到3D的创作与进化之路...
  10. 抖音同城团购拓客工具+账号矩阵技术搭建新动态