停课后的第一场模拟赛,应该不会怎么说今天的模拟赛,除了第一题不知道那种筛法的复杂度是$log$的没敢写,其他都挺水的。另外,第三题的数据也弱化了,建议去这里再交一遍。

贴一下AC代码,有兴趣可以参考一下。

T1:

//NOIP prime
//by Cydiater
//2016.11.9
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <map>
#include <ctime>
#include <cmath>
#include <cstdlib>
#include <iomanip>
#include <bitset>
#include <set>
#include <string>
using namespace std;
#define ll long long
#define up(i,j,n)		for(ll i=j;i<=n;i++)
#define down(i,j,n)		for(ll i=j;i>=n;i--)
#define cmax(a,b)		a=max(a,b)
#define cmin(a,b)		a=min(a,b)
#define FILE "prime"
const int LIM=50000;
const int MAXN=1000005;
const int oo=2147483647;
inline int read(){
	char ch=getchar();int x=0,f=1;
	while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}
int X,Y,prime[MAXN],cnt=0,ans=0;
bool vis[1000005];
namespace solution{
	void init(){
		X=read();Y=read();
		up(i,2,LIM){
			if(!vis[i])prime[++cnt]=i;
			up(j,1,cnt){
				if(i*prime[j]>LIM)break;
				vis[i*prime[j]]=1;
				if(i%prime[j]!=0)break;
			}
		}
	}
	void slove(){
		memset(vis,0,sizeof(vis));
		up(i,1,cnt)up(j,X/prime[i],oo){
			if(j*prime[i]>Y)break;
			if(j*prime[i]<X)continue;
			if(j>1){
				if(!vis[j*prime[i]-X])ans++;
				vis[j*prime[i]-X]=1;
			}
		}
		//up(i,X,Y)if(!vis[i-X])printf("%d\n",i);
		if(X==1)ans++;
		cout<<Y-X+1-ans<<endl;
	}
}
int main(){
	freopen(FILE".in","r",stdin);
	freopen(FILE".out","w",stdout);
	using namespace solution;
	init();
	slove();
	return 0;
}

T2:

//sky
//by Cydiater
//2016.11.9
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <ctime>
#include <cstring>
#include <string>
#include <algorithm>
#include <queue>
#include <map>
#include <iomanip>
#include <bitset>
#include <set>
using namespace std;
#define ll long long
#define up(i,j,n)		for(ll i=j;i<=n;i++)
#define down(i,j,n)		for(ll i=j;i>=n;i--)
#define cmax(a,b)		a=max(a,b)
#define cmin(a,b)		a=min(a,b)
#define FILE "sky"
const ll MAXN=1005;
const ll oo=1LL<<55;
inline ll read(){
	char ch=getchar();ll x=0,f=1;
	while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}
ll N,M,g[MAXN][MAXN],a[MAXN],sum1,sum2,ans=0,siz1,siz2;
priority_queue<ll>q1;
priority_queue<ll,vector<ll>,greater<ll> >q2;
namespace solution{
	void init(){
		N=read();M=read();
		up(i,1,N)a[i]=read();
	}
	void slove(){
		up(i,1,N){
			while(!q1.empty())q1.pop();
			while(!q2.empty())q2.pop();
			siz1=siz2=0;
			sum1=sum2=0;
			up(j,i,N){
				siz1=q1.size();siz2=q2.size();
				if(siz1>0&&a[j]<=q1.top()){q1.push(a[j]);siz1++;sum1+=a[j];}
				else {q2.push(a[j]);siz2++;sum2+=a[j];}
				while(siz2-siz1>=2){
					ll tmp=q2.top();sum2-=tmp;sum1+=tmp;siz1++;siz2--;
					q2.pop();q1.push(tmp);
				}
				while(siz1-siz2>=2){
					ll tmp=q1.top();sum2+=tmp;sum1-=tmp;siz1--;siz2++;
					q1.pop();q2.push(tmp);
				}
				ll mid=siz1>=siz2?q1.top():q2.top();
				g[i][j]=mid*siz1-sum1+sum2-mid*siz2;
			}
		}
		while(M--){
			ll x=read(),y=read();
			ans+=g[x][y];
		}
		cout<<ans<<endl;
	}
}
int main(){
	freopen(FILE".in","r",stdin);
	freopen(FILE".out","w",stdout);
	using namespace solution;
	init();
	slove();
	return 0;
}

T3:

//tree
//by Cydiater
//2016.11.9
#include <iostream>
#include <iomanip>
#include <queue>
#include <map>
#include <ctime>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <bitset>
#include <set>
using namespace std;
#define ll long long
#define up(i,j,n)		for(int i=j;i<=n;i++)
#define down(i,j,n)		for(int i=j;i>=n;i--)
#define cmax(a,b)		a=max(a,b)
#define cmin(a,b)		a=min(a,b)
#define Auto(i,node)	for(int i=LINK[node];i;i=e[i].next)
#define FILE "tree"
const int MAXN=2e5+5;
const int oo=0x3f3f3f3f;
inline int read(){
	char ch=getchar();int x=0,f=1;
	while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}
int N,M,LINK[MAXN],len=0,dfn[MAXN],low[MAXN],dfs_clock=0,cnt=0;
struct edge{
	int y,next;
}e[MAXN];
bool iscut[MAXN];
namespace solution{
	inline void insert(int x,int y){e[++len].next=LINK[x];LINK[x]=len;e[len].y=y;}
	inline void Insert(int x,int y){insert(x,y);insert(y,x);}
	void init(){
		N=read();M=read();
		up(i,1,M){
			int x=read(),y=read();
			Insert(x,y);
		}
	}
	void tarjan(int node,int father){
		dfn[node]=low[node]=++dfs_clock;int child=0;
		if(father!=0)child++;int outdu=0;
		Auto(i,node)if(e[i].y!=father){
			child++;
			if(!dfn[e[i].y]){
				outdu++;
				tarjan(e[i].y,node);
				cmin(low[node],low[e[i].y]);
				if(low[e[i].y]>=dfn[node])iscut[node]=1;
			}else cmin(low[node],dfn[e[i].y]);
		}
		if(M-child!=N-2)iscut[node]=1;
		if(node==1&&outdu==1&&M-child==N-2)iscut[node]=0;
	}
	void slove(){
		up(i,1,N)if(!dfn[i])tarjan(i,0);
		up(i,1,N)if(!iscut[i])cnt++;
	}
	void output(){
		cout<<cnt<<endl;
		up(i,1,N)if(!iscut[i])printf("%d ",i);
	}
}
int main(){
	//freopen(FILE".in","r",stdin);
	//freopen(FILE".out","w",stdout);
	using namespace solution;
	init();
	slove();
	output();
	return 0;
}

距离NOIp2016还有11天。这几天什么事都可以干,也什么事都干不了,到现在还没有清晰的计划这几天要做些什么(似乎颓废才是坠吼的)。NOIp要考的东西也学的差不多了,这几天可能就是刷刷水题,练练模板然后愉快的去迈出OI生涯的最后几步吧。

NOIp 1109的更多相关文章

  1. 1109 NOIP 模拟考试

    NOIP2016 模拟赛 ——那些年,我们学过的文化课 背单词(word.c/cpp/pas)[题目描述]fqk 退役后开始补习文化课啦, 于是他打开了英语必修一开始背单词. 看着满篇的单词非常头疼, ...

  2. NOIP模板整理计划

    先占个坑 [update]noip结束了,弃了 一.图论 1.单源最短路 洛谷P3371 (1)spfa 已加SLF优化 #include <iostream> #include < ...

  3. NOIp 11.11/12

    最后一场比较正式的NOIp模拟赛,写一发小总结.题目没什么好说的,大部分很简单,先贴一下代码. 1111 T1 //string //by Cydiater //2016.11.11 #include ...

  4. NOIp 2016 总结

    NOIp 2016 总结 -----YJSheep Day 0 对于考前的前一天,晚自习在复习图论的最短路和生成树,加深了图的理解.睡得比较早,养足精力明日再战. Day 1 拿到题目,先过一边,题目 ...

  5. 历年NOIP水题泛做

    快noip了就乱做一下历年的noip题目咯.. noip2014 飞扬的小鸟 其实这道题并不是很难,但是就有点难搞 听说男神错了一个小时.. 就是$f_{i,j}$表示在第$i$个位置高度为$j$的时 ...

  6. [杂谈]冲NOIP一等奖。。

    唉不想多说了. 真是一段“传奇”的经历啊. 还是那句话..“是的我上次什么都没说就走了...”这次也一样. 我还是太单纯的以为我们是肯定能够参加北大的夏令营的..然而结果真是意料之外啊. 本来我以为我 ...

  7. 【最后的抒情】【离NOIP还有9个小时】

    学了NOIP 大概十一个月左右,中途的插班生.从2015年12月底开始学信息竞赛,在寒假的时候还笑着我还有九个月才考试呢,生竞就只有两个月了.没错我是从生物竞赛转过来的.记得当初写申请的时候,写的理由 ...

  8. Ubuntu 配置 no-ip

    安装Python开发依赖包 sudo apt-get install python-dev 配置PIP并安装noipy sudo apt-get install python-pip sudo pip ...

  9. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

随机推荐

  1. Critical: Update Your Windows Secure Channel (cve-2014-6321,MS14-066)

    前言:风雨欲来山满楼,下半年开始各种凶猛的漏洞层出不穷,天下已经不太平,互联网已经进入一个新的台阶 0x01 cve-2014-6321 11月的补丁月,微软请windows的用户吃了顿大餐,发布了1 ...

  2. [IOS 开发] NSDateFormatter的格式字符串 -- 《整理的笔记》

    在ios开发中, OBjective-C中的NSDate是一个挺讨厌的类型, 自己找不到转换成字符串的类型,还得带一个NSDateFormatter的类型. 官方文档上对NSDateFormatter ...

  3. Android XML中引用自定义内部类view的四个why

    今天碰到了在XML中应用以内部类形式定义的自定义view,结果遇到了一些坑.虽然通过看了一些前辈写的文章解决了这个问题,但是我看到的几篇都没有完整说清楚why,于是决定做这个总结. 使用自定义内部类v ...

  4. ASP.NET MVC 让@Html.DropDownList显示默认值

    在使用@Html.DropDownList的过程中,发现它的用法很局限,比如在加载的时候显示设定的默认项或者调整它的显示样式,在网上查了一些资料,终于把这个问题解决了. 一.View代码 @using ...

  5. 2、项目标准的制定 - PMO项目管理办公室

    PMO项目管理办公室应该是针对公司级别的项目内容制定项目标准.这个由公司的项目经理们进行集中讨论,然后将项目标准进行文档化,标准化,从而为公司的项目进行指导性的功能,为公司的项目进行服务.下面对项目标 ...

  6. SQL Server 2012新增和改动DMV

    SQL Server 2012新增和改动DMV  系统视图 说明 sys.dm_exec_query_stats (Transact-SQL) 添加了四列,以帮助排除长时间运行的查询所存在的问题. 可 ...

  7. 使用httpclient发送get或post请求

    HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建 ...

  8. error LNK2001: 无法解析的外部符号

    1.错误描述 error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl PadSystem::Private::printQS ...

  9. [css]全屏背景图片设置,django加载图片路径

    <head><style type="text/css"> #bg { position:fixed; top:; left:; width:100%; h ...

  10. 学习python函数笔记之一

    1.函数文档字符串,用于存放函数的说明,一般写在第一行 2.函数调用:函数名+参数列表(函数的参数分实际参数和形式参数,str就是形式参数,则'welcome 头 python'就是实际参数) 参数需 ...