2017.9.23清北第二场

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cmath>
 4 #include<algorithm>
 5 #include<queue>
 6 using namespace std;
 7 const int MAXN=400001;
 8 inline void read(int &n)
 9 {
10     char c=getchar();n=0;bool flag=0;
11     while(c<‘0‘||c>‘9‘)    c==‘-‘?flag=1,c=getchar():c=getchar();
12     while(c>=‘0‘&&c<=‘9‘)    n=n*10+c-48,c=getchar();flag==1?n=-n:n=n;
13 }
14 int n,m,bgx,bgy,k;
15 int s,x,z,y;
16 int flag=0;
17 int nowx=1,nowy=1;
18 int nowstep=0;
19 int pd()
20 {
21     if(flag==1)        nowstep++;
22     if(nowx==bgx&&nowy==bgy)    flag=1;
23     if(nowstep==k)    printf("%d %d",nowy-1,nowx-1),exit(0);
24 }
25 int main()
26 {
27     freopen("calc.in","r",stdin);
28     freopen("calc.out","w",stdout);
29     read(n);read(m);read(bgx);read(bgy);read(k);
30     if(k==0)    printf("%d %d",bgx,bgy),exit(0);
31     swap(bgx,bgy);bgx++;bgy++;swap(n,m);
32
33     s=1,x=n,z=1,y=m;
34     while(s<=n&&x>=1&&z<=m&&y>=1)
35     {
36         while(nowy<y)
37         nowy++,pd();    s++;
38         while(nowx<x)
39         nowx++,pd();    y--;
40         while(nowy>z)
41         nowy--,pd();    x--;
42         while(nowx>s)
43         nowx--,pd();    z++;
44     }
45     return 0;
46 }

T1

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cmath>
 4 #include<algorithm>
 5 #include<queue>
 6 using namespace std;
 7 const int MAXN=200001;
 8 inline void read(int &n)
 9 {
10     char c=getchar();n=0;bool flag=0;
11     while(c<‘0‘||c>‘9‘)    c==‘-‘?flag=1,c=getchar():c=getchar();
12     while(c>=‘0‘&&c<=‘9‘)    n=n*10+c-48,c=getchar();flag==1?n=-n:n=n;
13 }
14 int T,n;
15 int ans[MAXN];
16 int a[MAXN];
17 int main()
18 {
19     freopen("sum.in","r",stdin);
20     freopen("sum.out","w",stdout);
21     read(T);
22     while(T--)
23     {
24         read(n);
25         for(int i=1;i<=n;i++)    read(a[i]);
26         for(int i=1;i<=n;i++)
27         {
28             int nowmax=-0x7fff,nowmin=0x7fff;
29             for(int j=i;j<=n;j++)
30                 nowmin=min(nowmin,a[j]),
31                 nowmax=max(nowmax,a[j]),
32                 ans[nowmax-nowmin]++;
33         }
34         for(int i=1;i<=n-1;i++)    ans[i]+=ans[i-1];
35         for(int i=0;i<=n-1;i++)
36             printf("%d\n",ans[i]);
37     }
38     return 0;
39 }

T2

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<cmath>
 4 #include<algorithm>
 5 #include<queue>
 6 using namespace std;
 7 const int MAXN=400001;
 8 const int mod=1000000007;
 9 inline void read(int &n)
10 {
11     char c=getchar();n=0;bool flag=0;
12     while(c<‘0‘||c>‘9‘)    c==‘-‘?flag=1,c=getchar():c=getchar();
13     while(c>=‘0‘&&c<=‘9‘)    n=n*10+c-48,c=getchar();flag==1?n=-n:n=n;
14 }
15 int T,n,m,k;
16 int vis[MAXN];
17 int happen[MAXN];
18 int ans=0;
19 void dfs(int now)
20 {
21     if(now==n+1)
22     {ans=(ans+1)%mod;return ;}
23     if(vis[now])    dfs(now+1);
24     for(int i=now-k;i<=now+k;i++)
25     {
26         if(!happen[i]&&i>=1&&i<=n)
27         {
28             happen[i]=1;
29             dfs(now+1);
30             happen[i]=0;
31         }
32     }
33
34 }
35 int main()
36 {
37     freopen("count.in","r",stdin);
38     freopen("count.out","w",stdout);
39     read(T);
40     while(T--)
41     {
42         ans=0;
43         read(n);read(m);read(k);bool flag=0;
44         if(k==0)
45         {
46             printf("1");
47             continue;
48         }
49         for(int i=1;i<=m;i++)
50         {
51             int x,y;read(x);read(y);
52             vis[x]=1;happen[y]=1;
53             if(abs(y-x)>k)
54             {    flag=1;break;    }
55         }
56         if(!flag)    dfs(1);
57         printf("%d\n",ans%mod);
58     }
59     return 0;
60 }

T3

时间: 2024-10-08 18:01:56

2017.9.23清北第二场的相关文章

2017.7.15清北夏令营精英班Day1解题报告

成绩: 预计分数:20+10+40 实际分数:100+10+40. 一百三十多人的比赛全场rand7还水了个鼠标+键盘 unbelievable! 考试题目链接: https://www.luogu.org/team/show?teamid=1353 T1 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm&

9.23——清北模拟赛

T 1 . 回形遍历( ( calc .cpp/c/pas) 时间限制:1 1s s内存 限制: 256MB[问题 描 述]给出一个 n*m 的棋盘,按如下方式遍历,请问(x,y)往后 z 步走到的是哪个格子. [输入]输入文件名为 calc.in.一行,包含五个整数:n,m,x,y,z[输出]输出文件名为 calc.out.输出一行,包含两个整数,表示所在格子的横纵坐标[输入输出样例]calc .in        calc .out4 5 3 0 5     2 4[ 样例解释 ] [数据说

2017计蒜之道 初赛 第二场 百度的科学计算器(简单)

/** 题目:2017计蒜之道 初赛 第二场 百度的科学计算器(简单) 链接:https://nanti.jisuanke.com/t/15504 题意:给一个合法的表达式,包含加号+.减号-.括号().数字常量,表达式中没有空格. 输入数据保证数字常量以及计算过程中数值绝对值均不超过 10^12??,对于浮点型数值常量,保证小数点后不超过 666 位. 思路:暴力模拟:python有函数可以直接调用. 坑点:如果表达式中出现过浮点数,那么输出结果保留6位小数, 否则输出整数,不出现小数. */

2017年校招全国统一模拟笔试(第二场)编程题集合-牛客网

 2017年校招全国统一模拟笔试(第二场)编程题集合-牛客网 链接:https://www.nowcoder.com/questionTerminal/276712b113c6456c8cf31c5073a4f9d7来源:牛客网 牛牛有两个字符串(可能包含空格),牛牛想找出其中最长的公共连续子串,希望你能帮助他,并输出其长度. 输入描述: 输入为两行字符串(可能包含空格),长度均小于等于50. 输出描述: 输出为一个整数,表示最长公共连续子串的长度. 输入例子: abcde abgde 输出例子

今我校——山东省著名高中——济南市历城区第二中学《清北学子经验交流会》感悟

放飞梦想,一起成长--历城二中清北学子经验交流会于今日9时在行政楼会议室隆重召开. 与会领导有:济南市教育局宣传科科长.高中部李矿水副校长.高三级部级部主任暨高中部副校长田庆民校长.全国生物奥赛金牌暨清华大学预录取的任雨同学.化学奥赛全国金牌被清华大学降至一本线录取的两位学长.数学奥赛被清华大学降至一本线录取的一位学长以及来自五湖四海的媒体朋友们,会议开场对他们的到来表达了热烈的欢迎.

清北夏令营考试day1

清北夏令营考试day1 送分题(songfen) Time Limit:1000ms   Memory Limit:128MB 题目描述: LYK喜欢干一些有挑战的事,比如说求区间最大子段和.它知道这个题目有O(n)的做法.于是它想加强一下. 也就是说,LYK一开始有n个数,第i个数字是ai,它找来了一个新的数字P,并想将这n个数字中恰好一个数字替换成P.要求替换后的最大子段和尽可能大. LYK知道这个题目仍然很简单,于是就扔给大家来送分啦~ 注:最大子段和是指在n个数中选择一段区间[L,R](

计蒜之道2015程序设计大赛初赛第二场——人人都有极客精神

计蒜之道2015程序设计大赛初赛第二场——人人都有极客精神 (一)体面 人人公司是一家极为鼓励极客精神的公司,当有重要的项目需要上线但又时间太紧,甚至需要当天上线的时候,往往会挂起海盗旗开启电子日期显示,让大家可以在对时间有更明确的感知的情况下,同心协力搞定重要的项目.海盗旗下方的电子屏显示的日期形式为 YYYYMMDD (年份占 4 位.月份占 2 位.天数占 2 位). 日期电子屏幕上每个数字对应的显示如下图: 从上图可以得知每个数字对应的笔画数,比如 2 的笔画数是 5,8 的笔画数是 7

【补题】多校联合训练第二场

第二场 1001 Is Derek lying? Problem Description Derek and Alfia are good friends.Derek is Chinese,and Alfia is Austrian.This summer holiday,they both participate in the summer camp of Borussia Dortmund.During the summer camp,there will be fan tests at i

【补题】组队训练第二场 &amp; 个人训练第一场

组队第二场: C题 CodeForces Gym 100735D 题意:给你N个木棍,问他们能拼成多少个三角形. 思路:从小到大排序,然后贪心地去取. 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 #include<cmath> 6 #include<vector> 7 #include<set> 8