摘要: 。。 就是先暴力算出2*10^8次方内素数的个数 大概有10^7个 因为范围是2*10^8 如果普通打表就要开这么大的数组,开不下 于是把2*10^8分成了100个区间 每个区间长度是2*10^6 然后分开用筛法计算 相当于计算100个区间素数个数 这样的话就只需要开10^7+2*10^6这么大的数组#include<iostream>#include<stdio.h>#include<cstring>#include<algorithm>using namespace std;#define ll long long#define LIM (i 阅读全文
posted @ 2013-05-21 10:38 dark_dream 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 题意:讲的是一个 1024个格子黑白图片变成树的四叉树的数据结构,每一次把区域化为4个区间,如果这个区间全为黑则 用‘f’表示,如果全为白 则用‘e’表示,如果既有黑也有白则用‘p’表示,他用字符串的形式给出两棵树,求出这两个图像相叠加所得到图形的黑块的个数;解题思路:最开始建树想用栈,不过没建成,用了一种自我感觉比较搓的递归建树,然后同时深搜找两棵树的最大黑节点就可以了。。解题代码:// File Name: uva297.c// Author: darkdream// Created Time: 2013年05月20日 星期一 11时03分48秒#include<stdio.h> 阅读全文
posted @ 2013-05-21 10:10 dark_dream 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 题意 :给定一棵树的中序遍历和后序遍历,让你求出这棵树根节点到叶子节点和最小的叶子节点的值(如果最小和有几个,选叶子节点值最小的)解题思路:(1)建树 (2)划分遍历(同白书,后序遍历每一段最后一个值都是这个子树的根,所以从中序遍历中找对应的根求解) 我用的是方法2解题代码:// File Name: uva548.c// Author: darkdream// Created Time: 2013年05月19日 星期日 19时52分46秒#include<stdio.h>#include<string.h>#include<stdlib.h>#includ 阅读全文
posted @ 2013-05-20 10:13 dark_dream 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个值 ,一棵树,让你算出 这棵树从上到下的和能不能 为n解题思路: 先对字符串进行处理 然后再用二维栈模拟树,如果这个节点有父亲节点,这个更新到这个节点的和 如果为叶子节点,则判断它的值!解题代码:// File Name: uva112.c// Author: darkdream// Created Time: 2013年05月16日 星期四 22时26分01秒#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>#include<math.h 阅读全文
posted @ 2013-05-19 19:50 dark_dream 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 为什么我的 g++ 可以直接编译 .py。。。。。 阅读全文
posted @ 2013-05-18 23:20 dark_dream 阅读(138) 评论(1) 推荐(0) 编辑
摘要: 题意:给定你n个点 然后给定m条边 如果两个点之间有两个间接点且它两不直接连,那么它们两之间就产生一条新边 问你最后一共产生多少条新边解题思路:数组模拟暴力 直到不产生新边停止循环解题代码:#include <stdio.h>#include <string.h>#include <stdlib.h>int main(){ int t ; scanf("%d",&t); while(t--) { int a[102][102]; int visit[102]; memset(a,0,sizeof(a)); int n , m... 阅读全文
posted @ 2013-05-18 22:04 dark_dream 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个字符串,用字符串ASC2码16进制数输出 ,并在前面输出字符串长度的16进制,输出长度的规则是 先输出长度的二进制数的后七位的十六进制(如果左边还有1 则这在后七位前面加上个1再输出 然后二进制数右移动七位,直到左边没有1) 注:所有16数都必须为两位!解题思路:对长度进行输出处理解题代码:// File Name: i.c// Author: darkdream// Created Time: 2013年05月18日 星期六 09时48分19秒#include<stdio.h>#include<string.h>#include<stdlib.h& 阅读全文
posted @ 2013-05-18 21:59 dark_dream 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n(3-100)个人 ,给定n-1个人的投票以及动摇他们投票给自己的代价,问,如何使用最少的代价赢得选举解题思路:本来开始是想如何一步步贪心得到最优解,后来才知道这属于多变量问题,解法就是枚举其中某些变量的值然后求其他变量的最优解来找出最优解解题代码:// File Name: k.cpp// Author: darkdream// Created Time: 2013年05月18日 星期六 14时31分10秒#include<vector>#include<list>#include<map>#include<set>#include 阅读全文
posted @ 2013-05-18 21:44 dark_dream 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 题意:给出罢工周期 求规定天数内罢工的天数(星期五星期六不算)解题思路:大水题(筛法)解题代码: // File Name: uva10050.c// Author: darkdream// Created Time: 2013年05月16日 星期四 21时28分55秒#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>#include<math.h>int main(){ //freopen("/home/plac/problem/inp 阅读全文
posted @ 2013-05-16 22:17 dark_dream 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题意:模拟食堂排队,分为几个集合 ,如果一个元素在所在的集合已经有元素在排队,它就排在这个元素队的最后面,否则它排在整个队列的最后面;解题思路:利用并查集和二维队列解决;解题代码:// File Name: uva540.c// Author: darkdream// Created Time: 2013年05月16日 星期四 20时12分37秒#include<stdio.h>#include<string.h>#include<stdlib.h>#include<time.h>#include<math.h>int p[10000 阅读全文
posted @ 2013-05-16 21:25 dark_dream 阅读(149) 评论(0) 推荐(0) 编辑