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 ...
随机推荐
- H3 BPM初次安装常见错误详解5-7
错误5:登陆无反应,F12查看后台网络请求错误如下图所示 错误原因:ISAPI未对相应的.net版本允许. 解决方法:IIS的根节点--右侧"ISAPI和CGI限制"打开--将相 ...
- android ImageLoader 混淆加载drawable出现黑色图片的解决方案
在网上找了很久,没有找到.后来看了源码才知道... 多线程异步加载和显示图片(图片来源于网络.sd卡.assets文件夹,drawable文件夹(不能加载9patch),新增加载视频缩略图) Stri ...
- 了解JavaScript 数组对象及其方法
数组在我目前学习过的编程语言中都可以见到, 形形色色的方法也数不胜数, 不过功能都一样, 最多也就是方法名稍稍有所不同, 老外也没个准啊, 如果英语比较好的同学对于学习方法(method)来说是很快的 ...
- oracle容器化docker解决方案
Docker提供了轻量级的虚拟化,它几乎没有任何额外开销. 提供了一个从开发到上线均一致的环境. 开发效率:一是我们想让开发环境尽量贴近生产环境 二是我们想快速搭建开发环境 基于docker研发小 ...
- ASP.NET MVC 3 网站优化总结(六)压缩 HTML
压缩 html 可以去除代码中无用的空格等,这样可提高网站的加载速度并节省带宽.今天就让我们看看在 ASP.NET MVC 3 怎么实现 html 压缩,我们可通过实现 ActionFilter 来完 ...
- ASP.NET MVC 5 04 - 控制器
PS: 唉.本来这一篇前几天早就应该发了的,可是谁每月没有那么几天啊... 呵呵.开个玩笑.反正就是各种烦气,所以也就一直没上来继续发了. 年底了,摆正一下心态吧.好好干,整点钱,过年回家能跟亲朋好友 ...
- mongodb 3.x 之实用新功能窥看[1] ——使用TTLIndex做Cache处理
mongodb一直都在不断的更新,不断的发展,那些非常好玩也非常实用的功能都逐步加入到了mongodb中,这不就有了本篇对ttlindex的介绍, 刚好我们的生产业务场景中就有这个一个案例... 一: ...
- properties属性文件工具类
package xxx.business.utils; import org.apache.commons.configuration.ConfigurationException; import o ...
- WPF 自定义列表筛选 自定义TreeView模板 自定义ListBox模板
有很多项目,都有数据筛选的操作.下面提供一个案例,给大家做参考. 左侧是数据源,搜索框加TreeView控件,右侧是ListBox控件.在左侧数据列点击添加数据,然后点击确定,得到所筛选的数据. 下面 ...
- Linux服务器安全登录设置记录
在日常运维工作中,对加固服务器的安全设置是一个机器重要的环境.比较推荐的做法是:1)严格限制ssh登陆(参考:Linux系统下的ssh使用(依据个人经验总结)): 修改ssh默认监听端口 ...