这又是一道看似简单,实际挺困难的题目。
本来想做道基础题消遣一下的,没想到反被消遣了-_-|||。
看个人的基础吧,对于数学好的会简单点,但是由于情况太多,需要都考虑全,故此难度应该在4星以上了。
我这里使用的方法就是直接打表,然后直接模拟,利用打表去掉一大段数据,剩下数据量十分小了,故此可以直接模拟。
打表是为了计算前面的周期数,把周期数直接去掉。
主要难点是后面10位数以上的...
分类:
其他好文 时间:
2014-07-28 00:02:09
阅读次数:
273
题目:给你一个数,问有多少对素数的和小于这个数。
分析:数论。利用素数表枚举求解。
1.打表计算1000000内的素数(筛法);
2.对于每个输入的数字 v,枚举他的所有拆分情况;
设F(i)是不超过数字 i 的素数的个数,S(v)为 v 的拆分种数,则:
S(v)= sum(m...
分类:
其他好文 时间:
2014-07-27 23:37:49
阅读次数:
245
素数打表,加上sum[i]数组表示1-i中有多少个素数二分查找#include #include using namespace std;#define max 1000005int phi[max],sum[max];int a,b,k;void getp(){ for(int i=2;i>a>>...
分类:
其他好文 时间:
2014-07-27 23:27:19
阅读次数:
355
HDU 2089 不要62(数位DP,三种姿势)
ACM
题目地址:HDU 2089
题意:
中文题意,不解释。
分析:
100w的数据,暴力打表能过先初始化dp数组,表示前i位的三种情况,再进行推算直接dfs,一遍搜一变记录,可能有不饥渴的全部算和饥渴的部分算情况,记录只能记录全部算(推荐看∑大的详细题解Orz)
代码:
1. 暴力 (以前写的)
...
分类:
其他好文 时间:
2014-07-26 17:20:32
阅读次数:
283
#include
int s1[1005000],s2[1005000];
//若在main函数外面定义数组,则数组为全局变量,数组自动初始化为0;
//而在main函数里面定义数组的话千万记得要初始化
int main()
{
int n,l,r;
int a,b,c,d,g=1;
//素数打表法
s1[0]=s1[1]=1;
for(a=0;a
{
i...
分类:
其他好文 时间:
2014-07-26 02:16:16
阅读次数:
194
//相邻的 2.3......d 之和都要不为素数
# include
# include
using namespace std;
int num[1010],vis[1010];
int n,m,d,cot;
int flag[10010];
void init()//素数打表
{
int i,j;
for(i=2;i<10010;i++)
{
if(!flag[i])
f...
分类:
其他好文 时间:
2014-07-24 11:32:42
阅读次数:
234
题目链接:uva 12326 &
hdu 4092 Yummy Triangular Pizza
题目大意:给出n,表示用n个正三角形去组成图形,问可以组成多少种不同的三角形,旋转,镜像,都算同一种。
解题思路:参考别人的思路,很巧妙,主要就是建立三维坐标轴。
正立三角形x+y+z = 0
倒立三角形x+y+z ≠ 0
这样从初始装态为0 0 0的三角形开始逐...
分类:
其他好文 时间:
2014-07-24 10:43:18
阅读次数:
328
http://poj.org/problem?id=2478此题只是用简单的欧拉函数求每一个数的互质数的值会超时,因为要求很多数据的欧拉函数值,所以选用欧拉函数打表法。PS:因为最后得到的结果会很大,所以结果数据类型不要用int,改为long long就没问题了#include #include u...
分类:
其他好文 时间:
2014-07-23 16:48:41
阅读次数:
158
另类打表:将从1到n的满足美素数条件的数目赋值给prime[n],这样最后只需要用prime[L]减去prime[R-1]即可;
美素数
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 2332 Accepted Submis...
分类:
其他好文 时间:
2014-07-23 16:39:02
阅读次数:
157
欧拉函数打表#include "stdio.h"#define n 3000001__int64 phi[n]; //不能用intvoid getphi(){ for(int i=2;i<n;i++)phi[i]=0; phi[1]=1; for(int i=2;i<n;i++...
分类:
其他好文 时间:
2014-07-23 14:49:26
阅读次数:
239