
SGU
MissAnnLucky
Cease to struggle cease to live.
展开
-
SGU 113. Nearly prime numbers 素数
m*n=p并且m,n都是素数,那么一定是m,n一个比sqrt(p)大,一个比sqrt(p)小,或者m==n==sqrt(p),所以构造素数表时判断到sqrt(10^9)即可。#include#include#includeusing namespace std;int isprime(int n){ for(int i=2; i*i<=n; i++)原创 2013-08-01 21:07:34 · 687 阅读 · 0 评论 -
SGU 125. Shtirlits 剪枝技巧
这个题一开始想用dfs但是不知道怎么剪枝,后来看了http://txhwind.diandian.com/?tag=sgu,在cur>n时调用dfs()函数判断,满足则dfs(cur+1),最后在cur>n*n时再check()。#include#include#include#include#define MAXN 9+9using namespace std;int num[原创 2013-08-02 14:21:53 · 975 阅读 · 0 评论 -
SGU 133. Border
思路题吧,和SGU231一样,time limit per test: 0.5 sec. memory limit per test: 4096 KB。 读入数据后,按照b从小到大的顺序排序,然后从后向前扫描一遍,记录当前最小值,如果x[i]>min,就说明i满足条件。#include#include#include#include#define MAXN 16010us原创 2013-07-28 08:58:44 · 569 阅读 · 0 评论 -
SGU107. 987654321 problem 暴利找规律
乍一看没什么思路,一个n位数的平方的后9位只与这个数的后九位有关,所以写个测试程序暴利找出满足条件的数,发现9位的有8个,这样10位的就有9*8=72个,11位的有10*9*8个。#include#include#include#define ULL unsigned long longusing namespace std;int main(){ //freopen("原创 2013-08-08 14:59:37 · 524 阅读 · 0 评论 -
SGU 180 贪心
不得不说,又是没读懂题意,看了解题报告才知道,大意是有n条链子,每条链子上有L个环,一分钟内可以从一条链子上拆下一个环,然后把连接起两条链子,问最小的时间把这些链子连成一条链子。拆最短的链子,从最长的开始连。#include#include#include#includeusing namespace std;int main(){ //freopen("in.txt","原创 2013-08-18 17:47:44 · 494 阅读 · 0 评论