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

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

T1:

  1. //NOIP prime
  2. //by Cydiater
  3. //2016.11.9
  4. #include <iostream>
  5. #include <cstdio>
  6. #include <cstring>
  7. #include <algorithm>
  8. #include <queue>
  9. #include <map>
  10. #include <ctime>
  11. #include <cmath>
  12. #include <cstdlib>
  13. #include <iomanip>
  14. #include <bitset>
  15. #include <set>
  16. #include <string>
  17. using namespace std;
  18. #define ll long long
  19. #define up(i,j,n) for(ll i=j;i<=n;i++)
  20. #define down(i,j,n) for(ll i=j;i>=n;i--)
  21. #define cmax(a,b) a=max(a,b)
  22. #define cmin(a,b) a=min(a,b)
  23. #define FILE "prime"
  24. const int LIM=50000;
  25. const int MAXN=1000005;
  26. const int oo=2147483647;
  27. inline int read(){
  28. char ch=getchar();int x=0,f=1;
  29. while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}
  30. while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
  31. return x*f;
  32. }
  33. int X,Y,prime[MAXN],cnt=0,ans=0;
  34. bool vis[1000005];
  35. namespace solution{
  36. void init(){
  37. X=read();Y=read();
  38. up(i,2,LIM){
  39. if(!vis[i])prime[++cnt]=i;
  40. up(j,1,cnt){
  41. if(i*prime[j]>LIM)break;
  42. vis[i*prime[j]]=1;
  43. if(i%prime[j]!=0)break;
  44. }
  45. }
  46. }
  47. void slove(){
  48. memset(vis,0,sizeof(vis));
  49. up(i,1,cnt)up(j,X/prime[i],oo){
  50. if(j*prime[i]>Y)break;
  51. if(j*prime[i]<X)continue;
  52. if(j>1){
  53. if(!vis[j*prime[i]-X])ans++;
  54. vis[j*prime[i]-X]=1;
  55. }
  56. }
  57. //up(i,X,Y)if(!vis[i-X])printf("%d\n",i);
  58. if(X==1)ans++;
  59. cout<<Y-X+1-ans<<endl;
  60. }
  61. }
  62. int main(){
  63. freopen(FILE".in","r",stdin);
  64. freopen(FILE".out","w",stdout);
  65. using namespace solution;
  66. init();
  67. slove();
  68. return 0;
  69. }

T2:

  1. //sky
  2. //by Cydiater
  3. //2016.11.9
  4. #include <iostream>
  5. #include <cstdio>
  6. #include <cstdlib>
  7. #include <cmath>
  8. #include <ctime>
  9. #include <cstring>
  10. #include <string>
  11. #include <algorithm>
  12. #include <queue>
  13. #include <map>
  14. #include <iomanip>
  15. #include <bitset>
  16. #include <set>
  17. using namespace std;
  18. #define ll long long
  19. #define up(i,j,n) for(ll i=j;i<=n;i++)
  20. #define down(i,j,n) for(ll i=j;i>=n;i--)
  21. #define cmax(a,b) a=max(a,b)
  22. #define cmin(a,b) a=min(a,b)
  23. #define FILE "sky"
  24. const ll MAXN=1005;
  25. const ll oo=1LL<<55;
  26. inline ll read(){
  27. char ch=getchar();ll x=0,f=1;
  28. while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}
  29. while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
  30. return x*f;
  31. }
  32. ll N,M,g[MAXN][MAXN],a[MAXN],sum1,sum2,ans=0,siz1,siz2;
  33. priority_queue<ll>q1;
  34. priority_queue<ll,vector<ll>,greater<ll> >q2;
  35. namespace solution{
  36. void init(){
  37. N=read();M=read();
  38. up(i,1,N)a[i]=read();
  39. }
  40. void slove(){
  41. up(i,1,N){
  42. while(!q1.empty())q1.pop();
  43. while(!q2.empty())q2.pop();
  44. siz1=siz2=0;
  45. sum1=sum2=0;
  46. up(j,i,N){
  47. siz1=q1.size();siz2=q2.size();
  48. if(siz1>0&&a[j]<=q1.top()){q1.push(a[j]);siz1++;sum1+=a[j];}
  49. else {q2.push(a[j]);siz2++;sum2+=a[j];}
  50. while(siz2-siz1>=2){
  51. ll tmp=q2.top();sum2-=tmp;sum1+=tmp;siz1++;siz2--;
  52. q2.pop();q1.push(tmp);
  53. }
  54. while(siz1-siz2>=2){
  55. ll tmp=q1.top();sum2+=tmp;sum1-=tmp;siz1--;siz2++;
  56. q1.pop();q2.push(tmp);
  57. }
  58. ll mid=siz1>=siz2?q1.top():q2.top();
  59. g[i][j]=mid*siz1-sum1+sum2-mid*siz2;
  60. }
  61. }
  62. while(M--){
  63. ll x=read(),y=read();
  64. ans+=g[x][y];
  65. }
  66. cout<<ans<<endl;
  67. }
  68. }
  69. int main(){
  70. freopen(FILE".in","r",stdin);
  71. freopen(FILE".out","w",stdout);
  72. using namespace solution;
  73. init();
  74. slove();
  75. return 0;
  76. }

T3:

  1. //tree
  2. //by Cydiater
  3. //2016.11.9
  4. #include <iostream>
  5. #include <iomanip>
  6. #include <queue>
  7. #include <map>
  8. #include <ctime>
  9. #include <cmath>
  10. #include <cstring>
  11. #include <string>
  12. #include <algorithm>
  13. #include <cstdio>
  14. #include <cstdlib>
  15. #include <bitset>
  16. #include <set>
  17. using namespace std;
  18. #define ll long long
  19. #define up(i,j,n) for(int i=j;i<=n;i++)
  20. #define down(i,j,n) for(int i=j;i>=n;i--)
  21. #define cmax(a,b) a=max(a,b)
  22. #define cmin(a,b) a=min(a,b)
  23. #define Auto(i,node) for(int i=LINK[node];i;i=e[i].next)
  24. #define FILE "tree"
  25. const int MAXN=2e5+5;
  26. const int oo=0x3f3f3f3f;
  27. inline int read(){
  28. char ch=getchar();int x=0,f=1;
  29. while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}
  30. while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
  31. return x*f;
  32. }
  33. int N,M,LINK[MAXN],len=0,dfn[MAXN],low[MAXN],dfs_clock=0,cnt=0;
  34. struct edge{
  35. int y,next;
  36. }e[MAXN];
  37. bool iscut[MAXN];
  38. namespace solution{
  39. inline void insert(int x,int y){e[++len].next=LINK[x];LINK[x]=len;e[len].y=y;}
  40. inline void Insert(int x,int y){insert(x,y);insert(y,x);}
  41. void init(){
  42. N=read();M=read();
  43. up(i,1,M){
  44. int x=read(),y=read();
  45. Insert(x,y);
  46. }
  47. }
  48. void tarjan(int node,int father){
  49. dfn[node]=low[node]=++dfs_clock;int child=0;
  50. if(father!=0)child++;int outdu=0;
  51. Auto(i,node)if(e[i].y!=father){
  52. child++;
  53. if(!dfn[e[i].y]){
  54. outdu++;
  55. tarjan(e[i].y,node);
  56. cmin(low[node],low[e[i].y]);
  57. if(low[e[i].y]>=dfn[node])iscut[node]=1;
  58. }else cmin(low[node],dfn[e[i].y]);
  59. }
  60. if(M-child!=N-2)iscut[node]=1;
  61. if(node==1&&outdu==1&&M-child==N-2)iscut[node]=0;
  62. }
  63. void slove(){
  64. up(i,1,N)if(!dfn[i])tarjan(i,0);
  65. up(i,1,N)if(!iscut[i])cnt++;
  66. }
  67. void output(){
  68. cout<<cnt<<endl;
  69. up(i,1,N)if(!iscut[i])printf("%d ",i);
  70. }
  71. }
  72. int main(){
  73. //freopen(FILE".in","r",stdin);
  74. //freopen(FILE".out","w",stdout);
  75. using namespace solution;
  76. init();
  77. slove();
  78. output();
  79. return 0;
  80. }

距离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. When it comes to intrusion analysis and forensics

    以下内容的出现可以追溯到一个发生在互联网的安全事件: Z公司遭受某种攻击,服务器上被植入了Linux DDOS木马,部分系统命令入ls遭替换,攻击者已经获得该服务器root权限: 影响更恶劣的是,连接 ...

  2. SDK接入(2)之Android Google Play内支付(in-app Billing)接入

    SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...

  3. Android界面架构(Activity,PhoneWiondow,DecorView)简介

    在一个Android应用程序中,用户界面通过View和ViewGroup对象构建.所有View的子类成为"Widget",所有ViewGroup的子类成为"Layout& ...

  4. CSS3:RGBA的使用方法

    1.说明 此色彩模式与RGB相同,只是在RGB模式上新增了Alpha透明度. RGBA(R,G,B,A) 2.取值 R: 红色值,正整数值的取值范围为:0 - 255,百分数值的取值范围为:0.0% ...

  5. Oracle索引梳理系列(九)- 浅谈聚簇因子对索引使用的影响及优化方法

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  6. 使Python IDLE也变得高颜值

    初学Python,大家应该都是用Python自带的IDLE了,我们可以让他颜值高一些,这样敲出的代码就赏心悦目,比如像下面这样:   我们首先要找到名为config-highlight.cfg的文件, ...

  7. 烂泥:ubuntu 14.04搭建OpenVPN服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司分部需要连接公司内部的服务器,但是该服务器只允许公司内部的网络访问. 为了解决这个问题,打算使用VPN.对于VPN以前使用最多的是PPTP这个解决方案 ...

  8. SQL操作符

    Oracle中的操作符算术操作符:无论是在sqlserver,或者是java中,每种语言它都有算术操作符,大同小异. Oracle中算术操作符(+)(-)(*)(/) 值得注意的是:/ 在oracle ...

  9. C#简单的对象交互

    在对象的世界里,一切皆为对象;对象与对象相互独立,互不干涉,但在一定外力的作用下对象开始共同努力 对象交互的实例 电视机大家都有吧,依照万物皆对象的思维模式来看,电视机可以是一个类,然后电视机有一些基 ...

  10. 微信支付(.NET版)

    前段时间做了网页版微信支付,遇到很多问题,不过最终还是解决了,现在在这里记录下开发流程以及说明,给其他人一些参考. 一.准备工作     首先肯定得先要开通微信支付功能,之前开通微信支付需要三万的押金 ...