浴谷八连测R4题解
一开始出了点bug能看见排行榜,于是我看见我半个小时就A掉了前两题,信心场QAQ
T1字符串题就不说了qwq
- #include<iostream>
- #include<cstring>
- #include<cstdlib>
- #include<cstdio>
- #include<algorithm>
- #define ll long long
- using namespace std;
- const int maxn=,inf=1e9;
- int n,m,x,y,z,tot;
- char c;
- int main()
- {
- int daxie=;
- while((c=getchar())!=EOF)
- {
- if(('a'<=c&&c<='z')||('A'<=c&&c<='Z'))
- {
- if(daxie)
- {
- if('a'<=c&&c<='z')putchar(c-'a'+'A');
- else putchar(c);
- daxie=;
- }
- else
- {
- if('a'<=c&&c<='z')putchar(c);
- else putchar(c-'A'+'a');
- }
- }
- else if(c=='.')daxie=,putchar('.');
- else putchar(' ');
- }
- return ;
- }
T2直接贪心不断找出最大的数和他的下一个数,用双向链表维护一下前面和后面的数就好了
- #include<iostream>
- #include<cstring>
- #include<cstdlib>
- #include<cstdio>
- #include<algorithm>
- #include<queue>
- #define ll long long
- using namespace std;
- const int maxn=,inf=1e9;
- struct poi{int pos,w;};
- priority_queue<poi>q;
- bool operator<(poi a,poi b){return a.w<b.w;}
- int n,m,x,y,z,tot;
- int nxt[maxn],pre[maxn],a[maxn];
- bool v[maxn];
- void read(int &k)
- {
- int f=;k=;char c=getchar();
- while(c<''||c>'')c=='-'&&(f=-),c=getchar();
- while(c<=''&&c>='')k=k*+c-'',c=getchar();
- k*=f;
- }
- void del(int x)
- {
- nxt[pre[x]]=nxt[nxt[x]];
- pre[nxt[nxt[x]]]=pre[x];
- pre[x]=nxt[x]=pre[nxt[x]]=nxt[nxt[x]]=;
- }
- int main()
- {
- read(n);
- for(int i=;i<=n;i++)read(a[i]),pre[i]=i-,nxt[i]=i+,q.push((poi){i,a[i]});
- for(int i=;i<=n>>;i++)
- {
- poi t=q.top();q.pop();
- while(v[t.pos]||nxt[t.pos]>n)t=q.top(),q.pop();
- printf("%d %d ",t.w,a[nxt[t.pos]]);
- v[nxt[t.pos]]=;del(t.pos);
- }
- return ;
- }
T3可以发现每行每列最多加两次,因为每隔2个数就有一个稳数...于是3^n枚举列的状态,算出每一行不加,加一个,加两个哪个优,每一行互不影响,于是每一行贪心地选一个最大的就好了
- #include<iostream>
- #include<cstring>
- #include<cstdlib>
- #include<cstdio>
- #include<algorithm>
- #define ll long long
- using namespace std;
- const int maxn=,inf=1e9;
- int n,m,x,y,z,ans;
- int mp[maxn][maxn],mi[maxn];
- void read(int &k)
- {
- int f=;k=;char c=getchar();
- while(c<''||c>'')c=='-'&&(f=-),c=getchar();
- while(c<=''&&c>='')k=k*+c-'',c=getchar();
- k*=f;
- }
- int main()
- {
- read(n);read(m);
- for(int i=;i<=n;i++)for(int j=;j<=m;j++)read(mp[i][j]);
- mi[]=;for(int i=;i<=max(n,m);i++)mi[i]=mi[i-]*;
- for(int s=;s<=mi[m];s++)
- {
- int now=;
- for(int i=;i<=n;i++)
- {
- int tmp1,tmp2,tmp3;tmp1=tmp2=tmp3=;
- for(int j=;j<=m;j++)
- if(s/mi[j-]%==)
- {
- tmp1+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
- tmp2+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
- tmp3+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
- }
- else if(s/mi[j-]%==)
- {
- tmp1+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
- tmp2+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
- tmp3+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
- }
- else if(s/mi[j-]%==)
- {
- tmp1+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
- tmp2+=(mp[i][j]==||mp[i][j]==||mp[i][j]==||mp[i][j]==);
- tmp3+=(mp[i][j]==-||mp[i][j]==||mp[i][j]==||mp[i][j]==);
- }
- now+=max(tmp1,max(tmp2,tmp3));
- }
- ans=max(ans,now);
- }
- printf("%d\n",ans);
- return ;
- }
浴谷八连测R4题解的更多相关文章
- 洛谷10月月赛R2·浴谷八连测R3题解
早上打一半就回家了... T1傻逼题不说了...而且我的写法比题解要傻逼很多T T T2可以发现,我们强制最大值所在的块是以左上为边界的倒三角,然后旋转4次就可以遍历所有的情况.所以二分极差,把最大值 ...
- 浴谷八连测R6题解(收获颇丰.jpg)
这场的题都让我收获颇丰啊QWQ 感谢van♂老师 T1 喵喵喵!当时以为经典题只能那么做, 思维定势了... 因为DP本质是通过一些条件和答案互相递推的一个过程, 实际上就是把条件和答案分配在DP的状 ...
- 洛谷八连测R5题解
woc居然忘了早上有八连测T T 还好明早还有一场...今天的题除了T3都挺NOIP的... T1只需要按横坐标第一关键字,纵坐标第二关键字排序一个一个取就好了... #include<iost ...
- 洛谷八连测R4
1.逃避 https://www.luogu.org/problemnew/show/T14561 注意: 1.输入时需要用EOF判断,否则会TLE. 2.用flag判断字符是不是每一句首字母. 3. ...
- 洛谷八连测R6
本次测试暴0!!!还有两周就要考试啦!!! 看题目时觉得难度不大,就直接写正解,没有参照数据,导致测出的结果和预想有较大差距. 不过得到经验,不管题目难易(除了D1T1)都要参照数据一部分一部分写,那 ...
- 洛谷P2832 行路难 分析+题解代码【玄学最短路】
洛谷P2832 行路难 分析+题解代码[玄学最短路] 题目背景: 小X来到了山区,领略山林之乐.在他乐以忘忧之时,他突然发现,开学迫在眉睫 题目描述: 山区有n座山.山之间有m条羊肠小道,每条连接两座 ...
- 【洛谷P3960】列队题解
[洛谷P3960]列队题解 题目链接 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有 n×m ...
- 浴谷夏令营例题Codeforces827DBest Edge Weight(三个愿望,一次满足~(大雾
这题在浴谷夏令营wyx在讲的最小生成树的时候提到过,但并没有细讲怎么写... 这题可以用三种写法写,虽然只有两种能过...(倍增/倍增+并查集/树链剖分 先跑出最小生成树,分类讨论,在MST上的边,考 ...
- 洛谷P2312 解方程题解
洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...
随机推荐
- 利用工厂模式实现serviec层和dao层解耦
利用工厂模式实现serveice和dao层的解耦,这样就可以不用在service层实例化dao层的对象,当dao层代码发生改变的时候(数据库实现发生改变)直接修改配置文件就不用改变service层的代 ...
- php使用mysql之sql注入(功)
sql注入就是用户通过构造sql语句,完成sql一系列操作 准备素材如下: 这是test.html <!DOCTYPE html> <html> <meta charse ...
- Elastic-Job 分布式调度平台
概述 referred:http://elasticjob.io/docs/elastic-job-lite/00-overview Elastic-Job是一个分布式调度解决方案,由两个相互独立的子 ...
- TW实习日记:第五天
今天可以说是非常忙的一天了,要再项目中实现微信相关的功能:授权登录以及扫码登录,还有就是自建应用的发送消息.首先功能代码其实在经过了几天的学习之后并没有很难,但是最让我难受的是在项目中去加代码,首先s ...
- object-fix/object-position
今日浏览某大神的一篇博文时发现如下写法: .container > div > img { width: 100%; height: 100%; object-fit: cover; } ...
- redis 为什么快
redis采用自己实现的事件分离器,效率比较高,内部采用非阻塞的执行方式,吞吐能力比较大. 不过,因为一般的内存操作都是简单存取操作,线程占用时间相对较短,主要问题在io上,因此,redis这种模型是 ...
- LVM缩小根分区
逻辑卷不是根分区都可以在线扩容和缩小 根分区是可以在线扩容,但不可以在线缩小 Linux系统进入救援模式 依次选择: 欢迎界面 ---------- Rescue installed system C ...
- 华为笔试——C++的int型数字位排序
题目:int型数字位排序 题目介绍:输入int 型整数,按照从右至左的顺序,返回不含重复数字的新整数. 例: 输入: 99824270 输出: 072489 分析:乍一看很简单,但是很容易忽略int ...
- 点滴拾遗 - 自定义 Format 控制 String.Format 行为
点击下载示例代码 String.Format 一重载方法的签名如下 public static string Format( IFormatProvider provider, string form ...
- 软工网络15个人作业4--alpha阶段个人总结
一.个人总结 自我评价表 类别 具体技能和面试问题 现在的回答 毕业找工作 语言 最拿手的语言之一,代码量是多少 java,代码量大概两三千行吧 语言 最拿手的语言之二,代码量是多少 python,代 ...