NOIp 1109
停课后的第一场模拟赛,应该不会怎么说今天的模拟赛,除了第一题不知道那种筛法的复杂度是$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的更多相关文章
- 1109 NOIP 模拟考试
NOIP2016 模拟赛 ——那些年,我们学过的文化课 背单词(word.c/cpp/pas)[题目描述]fqk 退役后开始补习文化课啦, 于是他打开了英语必修一开始背单词. 看着满篇的单词非常头疼, ...
- NOIP模板整理计划
先占个坑 [update]noip结束了,弃了 一.图论 1.单源最短路 洛谷P3371 (1)spfa 已加SLF优化 #include <iostream> #include < ...
- NOIp 11.11/12
最后一场比较正式的NOIp模拟赛,写一发小总结.题目没什么好说的,大部分很简单,先贴一下代码. 1111 T1 //string //by Cydiater //2016.11.11 #include ...
- NOIp 2016 总结
NOIp 2016 总结 -----YJSheep Day 0 对于考前的前一天,晚自习在复习图论的最短路和生成树,加深了图的理解.睡得比较早,养足精力明日再战. Day 1 拿到题目,先过一边,题目 ...
- 历年NOIP水题泛做
快noip了就乱做一下历年的noip题目咯.. noip2014 飞扬的小鸟 其实这道题并不是很难,但是就有点难搞 听说男神错了一个小时.. 就是$f_{i,j}$表示在第$i$个位置高度为$j$的时 ...
- [杂谈]冲NOIP一等奖。。
唉不想多说了. 真是一段“传奇”的经历啊. 还是那句话..“是的我上次什么都没说就走了...”这次也一样. 我还是太单纯的以为我们是肯定能够参加北大的夏令营的..然而结果真是意料之外啊. 本来我以为我 ...
- 【最后的抒情】【离NOIP还有9个小时】
学了NOIP 大概十一个月左右,中途的插班生.从2015年12月底开始学信息竞赛,在寒假的时候还笑着我还有九个月才考试呢,生竞就只有两个月了.没错我是从生物竞赛转过来的.记得当初写申请的时候,写的理由 ...
- Ubuntu 配置 no-ip
安装Python开发依赖包 sudo apt-get install python-dev 配置PIP并安装noipy sudo apt-get install python-pip sudo pip ...
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
随机推荐
- 移动端图片随手势移动react组件(附移动开发小tips)
这个效果是公司产品中一个用到的效果,用于展示项目的信息,废话少说,先上效果图,代码在最后:),这个组件是在上篇博客中用webpack搭建的环境中完成的http://www.cnblogs.com/wu ...
- jQuery orbit 幻灯片
在线实例 默认 带缩略图 带描述 使用方法 <div class="wrap" style="width: 565px; height: 290px; margin ...
- 嵌入式:J-link刷固件(坑)
1.上电,短接ERASE,>10秒后,拔USB. 2.短接TST,上电,>10秒后,拔USB. 3.安装驱动.(看别人教程,下载到INF文件,WIN7不能右击安装,好,换虚拟机XP) 4. ...
- Angular版本1.2.4在IE11的IE8模式下出错解决方案
今天,群里一个兄弟抛出一个问题(如上),截图说明. 打断点调试下,貌似是console里面的log方法出错了,如下: 这个是console的log方法,为什么错呢,继续: 我们会发现,在这里是检测fu ...
- iOS开发系列--无限循环的图片浏览器
--UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件 ...
- Resharper的配置和使用
一:Reshaper简介 Reshaper是C#开发IDE工具Visual Studio的一款第三方插件,Reshaper让 VS 变得更强大.优势是:它提供了一些在 VS 基础上更方便于程序员开发的 ...
- 简历生成平台项目开发-STEP4第二次项目例会讨论
时间:2016.7.15周五7点半 地点:图书馆 讨论主题:交流各自手头项目进展,确定下一步任务 内容:按照之前的讨论的任务大家各自汇报进度. 汇报人:谭卓.尹忠诚 内容:1.基于富文本编辑器的模板, ...
- MySQL函数
MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ...
- 0039 Java学习笔记-多线程-线程控制、线程组
join线程 假如A线程要B线程去完成一项任务,在B线程完成返回之前,不进行下一步执行,那么就可以调用B线程的join()方法 join()方法的重载: join():等待不限时间 join(long ...
- 项目自动化建构工具gradle 入门3——生一个exe的helloWorld
前两次呢,我们能够用一个外部的jar 来实现输出helloWorld.但问题是我每次都要用java -jar 来执行,这样我们自己玩还可以,让用户玩就不好了.所以我们生成一个exe给他们吧.这次我们仍 ...