poj2100尺取法
题意:
分解整数,将一个整数分解成多个数的平方和;
理解:
开始我以为可以暴力枚举,然后发现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尺取法相关推荐
- NUC1840 Graveyard Design【尺取法】
Graveyard Design 时间限制: 10000ms 内存限制: 64000KB 通过次数: 1总提交次数: 1 问题描述 King George has recently decided t ...
- 尺取法 — 详解 + 例题模板(全)
尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案.尺取法比直接暴力枚举区间效率高很多 ...
- ACM常用的解题技巧:尺取法
常用的解题技巧:尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案.之所以需要 ...
- ACM常用的解题技巧:尺取法及相关例题
常用的解题技巧:尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案.之所以需要 ...
- ACM尺取法常见题解
大佬博客地址 常用的解题技巧:尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答 ...
- ACM常用技巧之尺取法--POJ3061/3320/2739/2100
尺取法:反复推进区间的开头和结尾,来求取满足条件的最小区间的方法 . <挑战程序设计>P146 POJ3061 Subsequence Time Limit: 1000MS M ...
- CF660C Hard Process(尺取法)
整理的算法模板合集: ACM模板 尺取法 题目中要我们求最多改变k次后连续的1的最长长度.那么转换一下,不就是求至多包含k个0的子串的最长长度吗? 直接套用尺取法的思想,维护两端点,一旦0的个数超过k ...
- 【常用技巧精选】尺取法
整理的算法模板合集: ACM模板 目录 1.反向扫描 1 找指定和的整数对 A.UVA1121 Subsequence B.POJ 3320 Jessica's Reading Problem C.l ...
- ACM—各种模拟 总结(字符串,尺取法,数学问题)习题汇总
目录 一.字符串模拟 二. 高精度计算 1. 回文数(高精度,进制转换) 三.数学问题模拟 四.尺取法(双指针法) 1.都说小镇的切糕贵 (尺取法,字符串) umi和弓道 五.奇怪的模拟 x的位数=l ...
最新文章
- HTML的input类型为hidden导致无法reset改字段的value问题
- 数据库中的DML,DCL,DDL分别是那些操作?
- id选择器、标签选择器、类选择器、交集选择器、并集选择器
- 天才基本法_《天才基本法》强推!年度神仙小说,看完这本书我竟然爱上了数学...
- idea远程调试修改代码_IDEA远程调试(Remote Debug)Java代码指南
- MySQL + MyBatis 批量插入时存在则忽略或更新记录
- opencv 的norm_OpenCV视频分析-Meanshift、Camshiftamp;运动轨迹绘制
- 中国流动相配件行业市场供需与战略研究报告
- Java进阶1. Synchronized 关键字
- 低照度图像修复方法总结
- HDFS-异常大全-《每日五分钟搞定大数据》
- python从js文件中取数据_Python爬虫学习,记一次抓包获取js,从js函数中取数据的过程...
- M. Bottle Arrangements
- xcode编译错误:The Legacy Build System will be removed in a future release.
- 电子DIY:用单片机设计一款USB游戏手柄
- WAP中利用截取手机号码达到自动登入的一段源码(转)
- Python黑马程序员学习路线
- 什么是IDC?数据中心该如何选择?
- Activiti使用教程
- 答题小程序自学(一)
热门文章
- 手动输入三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。
- LWN: 在Linux kernel里应用profile-guided optimization!
- 分享个人简历思维导图模板
- 关于坦克大战的简单移动以及子弹发射
- 代码精进之路-设计模式-拦截器链模式
- 包子和馒头的恩怨完全版
- 绘画软件兼容性测试,功能测试-兼容性测试
- 【基础算法】哈希表(拉链法)
- T4M插件放入unity后怎么找不到_Unity制作人专场 | 闪耀暖暖从2D到3D的创作与进化之路...
- 抖音同城团购拓客工具+账号矩阵技术搭建新动态