HDU5104-BC18简单粗暴的题

/*
	今天掉排名快哭了,做题做不对就算了,Hack都错了无数……

	以后做题记得涨经验:
		一:自己判定最大的数据量。此题count=1229
		二:时间复杂度。开始的超时代码肯定会超时:因为枚举量为count^3。必须超时啊……
		三:交题之前不着急。多写数据给自己测试,尤其是边界和大数据。也方便自己后来的Hack
			不要因为想抢一两分钟的时间,而罚分罚时影响心情
		四:每次BC的第一题其实看了题解都不难,自己的第一思路也对,注意代码细节处理
		五:把自己的初始目标定低:只要求对,不要求时间,更是为了FT准备
			自己不清楚有多少次是渣渣代码运气好过了初测然后9点之后看排名就是最后,看分数就是 0
		六:之后要做总结:
			首先要把没有读懂的题再看看,很多时候ACM就是考阅读理解
			总结对了的题:思路是不是最好;实现有没有更简单的;代码能不能更加简单易懂;
						  有没有认真分析其时间空间复杂度(确保不是碰运气)
			总结有思路做不了的题:某些听过很熟悉或是会用的知识点不精通。
								  这是通过这道题学习一个新的专题的最好机会
								  像今天的BC18-4,看着就是线段树,自己没法动笔
			能够看懂题没思路:尽能力去学吧 

	言归正传:HDU5014
	思路:枚举前两个。那么只需满足的条件是:第三个数是素数且比第二个素数大即可计数!

*/ 

#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <math.h>
#include <map>
#include <set>
#include <vector>
#include <string>
#include <cstring>
#include <sstream>
using namespace std;

#define input freopen("input.txt","r",stdin)
#define output freopen("output.txt","w",stdout)
#define For1(i,a,b) for (i=a;i<b;i++)
#define For2(i,a,b) for (i=a;i<=b;i++)
#define Dec(i,a,b) for (i=a;i>b;i--)
#define Dec2(i,a,b) for (i=a;i>=b;i--)
#define Sca_d(x) scanf("%d",&x)
#define Sca_s(x) scanf("%s",x)
#define Sca_c(x) scanf("%c",&x)
#define Sca_f(x) scanf("%f",&x)
#define Sca_lf(x) scanf("%lf",&x)
#define Fill(x,a) memset(x,a,sizeof(x))
#define MAXN 100000

int tot=0;
int tag[MAXN],p[MAXN];

void getprime(int n)//线性筛素数模版
{
	for(int i=2;i<n;i++)
	{
		if (!tag[i]) p[tot++]=i;
		for(int j=0;j<tot&&p[j]*i<n;j++)
		{
			tag[i*p[j]]=1;
			if (i%p[j]==0) break;
		}
	}
}

int check(int x)
{
	for(int i=2;i*i<=x;i++)
		if (x%i==0) return 0;
	return 1;
}

int main()
{
	int i,j,k,n;
	getprime(10000);
	while(cin>>n)
	{
		int ans=0;
		For2(i,0,tot-1) //枚举第一层
		if (p[i]<n)
			For2(j,i,tot-1)//枚举第二层
			if (p[i]+p[j]<n&&n-p[i]-p[j]>=p[j])//判断
				if (check(n-p[i]-p[j])) ans++;
		printf("%d\n",ans);
	}
	return 0;
}

时间: 2024-10-23 14:14:10

HDU5104-BC18简单粗暴的题的相关文章

[hihoCoder1236 Scores 2015BeijingOnline]简单粗暴的分块+简单粗暴的bitset

题意:50000个5维向量,50000次询问每一维都不大于某一向量的向量个数,强制在线. 思路:做完这题才知道bitset效率这么高,自己本地测试了下1s可以操作1010个bit,orz简单粗暴 令S(i)表示第i维比当前向量的i维小的向量集,则答案为count(∩S(i)),0≤i‹5 每个向量都可以和一个id绑定(取下标就行了),绑定后就可以考虑bitset了.分别按每一维排序,每隔√N个位置预处理下当前位置之前的id的bitset 查询时,对每一维二分得到最大位置,然后用1个预处理的结果+

分享并开源一个简单粗暴的redmine测试报告系统

背景 软件测试的最后有一道比较繁琐的工作,就是编写测试报告.手写测试报告在数据统计和分析上面要耗费比较大的事件和精力.之前工作室使用mantis管理bug缺陷.公司有内部有个系统,可以直接从mantis上面获取数据并进行统计,生成一份测试报告.后来换了一个工作室,bug缺陷管理平台也从原来的mantis 换成了redmine (http://www.redmine.org/ ). 然后走上了一条手写测试报告的不归路(测试人员前期还是推荐手写测试报告的).搞游戏的都知道,平时加班加点压力就够大的.

简单粗暴的在vmware虚拟机中固定ip

虚拟机对于很多做测试的或者在学习测试中的人来说是位常客,经常会用到,但是虚拟机重启之后,很多人遇到虚拟机ip变化,很是头痛,我在学习过程中也遇到了这个问题,百度了很多办法,有些办法对于网络知识小白来说难度有点大,还有一些分享的经验都没有奏效,经过尝试,总结了两种简单粗暴,亲测有效的办法,共享出来,遇到的人可以做个参考,尤其是对小白,可以快速解决这个问题,不至于在这种小问题上浪费太多时间,大神可忽略. 首先,首先确定你在.NAT模式下,这时由VM8虚拟网卡提供虚拟机的IP分配,相当于一个小型的DH

LeakCanary:简单粗暴的内存泄漏检測工具

差点儿每一个程序猿在开发的过程中都会遇到内存泄漏.那么我们怎样检測到app是否哪里出现内存泄漏呢?square公司推出了一款简单粗暴的检測内存泄漏的工具-- LeakCanary 什么是内存泄漏? 内存泄漏是指因为疏忽或者错误造成程序未能释放已经不再使用的内存,内存泄漏不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误失去了对于这段内存的控制.因而造成内存的浪费. 内存泄漏和内存溢出是两码事,不要混淆,内存溢出通俗的讲就是内存不够用,如今的仅仅能手机内存越来越大,内存溢出的情况不

简单粗暴地入门机器学习

有很多小伙伴问过我零基础要怎么入门机器学习或者人工智能,今天来提炼一下,方便志同道合的朋友们参考. 记得我刚入此山洞准备修炼的时候,就 Google 了好多这类的问题,那时候觉得大家的建议好多呀,这条路看起来真长,那么多东西要学,那么多书要看,那么多有用的课程要学. 现在我可以就自己走过的坑坑包包来推荐一条简单粗暴的路径. [step 1: 方向] 在行动之前,先想好这几个最基本的问题,如果自己想不全都可以去搜一下,知乎上很多大拿的回答: --1.为什么要学习机器学习或者人工智能呢? 我的话,很

SmaterWeatherApi---签名加密和数据访问--简单粗暴一步搞定

使用中国天气网接口的朋友们,大家(还有我)辛苦了 有兴趣的可以去了解一下http://smart.weather.com.cn/wzfw/smart/weatherapi.shtml 年初的时候停用了之前的接口,改为申请使用,于是发个了申请邮件,中间各种曲折...一万字.. 总算是申请下来了,不过接口文档啊,看的我累觉不爱,文档上只有php版的kay生成方法,我在androi上使用,那些加密方法不知道用java如何实现 一怒之下,就写个php版的吧,本来是只想写个生成key的接口的,后来想了想

简单粗暴地理解js原型链--js面向对象编程

简单粗暴地理解js原型链--js面向对象编程 原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好. 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么.简单粗暴点看原型链吧,想点与代码无关的事,比如人.妖以及人妖. 1)人是人他妈生的,妖是妖他妈生的.人和妖都是对象实例,而人他妈和妖他妈就是原型.原型也是对象,叫原型对象. 2)人他妈和人他爸啪啪啪能生出一堆人宝宝.妖他妈和妖他爸啪啪啪能生出一堆妖宝宝,啪啪啪就是构造函数,俗

一个简单粗暴的前后端分离方案

项目背景 刚刚参加完一个项目,背景:后端是用java,后端服务已经开发的差不多了,现在要通过web的方式对外提供服务,也就是B/S架构.后端专注做业务逻辑,不想在后端做页面渲染的事情,只向前端提供数据接口.于是协商后打算将前后端完全分离,页面上的所有数据都通过ajax向后端取,页面渲染的事情完全由前端来做.另外还有一个紧急的情况,项目要紧急上线,整个web站点的开发时间只有两周,两周啊!于是在这样的背景下,决定开始一次前后端完全分离的尝试. 之前开发都是同步渲染和异步渲染混搭的,有些东西可以有后

Codeforces Round #259 (Div. 2) (简单模拟实现题)

题目链接:http://codeforces.com/problemset/problem/454/A A. Little Pony and Crystal Mine time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Twilight Sparkle once got a crystal from the Crystal Mine