Educational Codeforces Round 59 (Rated for Div. 2) (前四题)
A. Digits Sequence Dividing(英文速读)
练习英语速读的题,我还上来昏迷一次。。。。只要长度大于2那么一定可以等于2那么前面大于后面就行其他no
大于2的时候分成前面1个剩下后面一定是对的因为按照数字大小
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
while(n--)
{
int t;
cin>>t;
string a;
cin>>a;
if((a.size()==2&&a[0]>=a[1])||a.size()==1)
cout<<"NO\n";
else
{
cout<<"YES\n2\n";
cout<<a[0]<<" ";
for(int i=1;i<a.size();i++)
cout<<a[i];
cout<<"\n";
}
}
}
Digital root(数学)
公式为9*(k-1)+x,开long long
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
while(n--)
{
long long k,x;
cin>>k>>x;
cout<<9*(k-1)+x<<"\n";
}
}
C. Brutality(暴力?)
实际上这题我感觉暴力也行啊。。。当时还想着优化
枚举区间排序区间然后加和不就行了应该没有太大问题
我这里想了想用优先队列先预处理一下,把每个区间内的值先算好,然后最后直接加上就行
实际上这理论上已经跑了nnlogn了抱着试一试的态度没想到ac了 124ms不可思议
因为这道题的罚时的原因也是没有进前2000
代码
#include <bits/stdc++.h>
using namespace std;
priority_queue<long long> st[666666];
long long bk[666666],num[666666];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n,k,p=0;
cin>>n>>k;
for(int i=0;i<n;i++)
cin>>num[i];
string a;
cin>>a;
a+='#';
for(int i=0;i<a.size();i++)
{
if(a[i]!=a[i+1])
bk[i]=p,p++;
else
bk[i]=p;
}
for(int i=0;i<n;i++)
st[bk[i]].push(num[i]);
int f=1,pre=-1,mk=0;
long long sum=0;
for(int i=0;i<n;i++)
{
if(bk[i]!=pre)
pre=bk[i],f=1,mk=0;
if(f)
{
sum+=st[bk[i]].top();
st[bk[i]].pop();
mk++;
}
if(mk==k)
f=0,mk=0;
}
cout<<sum;
}
D. Compression(模拟)
题目意思实际上是把大矩阵分割成许多小矩阵每个小矩阵都是正方形,并且边长都能被大矩阵所整除。然后去模拟小矩阵里面是不是所有的数字都是一样的,不同的小矩阵可以不一样
5个for模拟瞎暴力即可
代码
#include <bits/stdc++.h>
using namespace std;
int n,mark;
string t[666666];
int dfs(int x)
{
for(int i=0;i<n;i+=x)
for(int j=0;j<n;j+=x)
{
char te=t[i][j];
for(int k=i;k<i+x;k++)
for(int m=j;m<j+x;m++)
if(t[k][m]!=te)
return 0;
}
return 1;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=0;i<n;i++)
{
string a;
cin>>a;
for(int j=0;j<a.size();j++)
{
if(a[j]=='0')
t[i]+="0000";
if(a[j]=='1')
t[i]+="0001";
if(a[j]=='2')
t[i]+="0010";
if(a[j]=='3')
t[i]+="0011";
if(a[j]=='4')
t[i]+="0100";
if(a[j]=='5')
t[i]+="0101";
if(a[j]=='6')
t[i]+="0110";
if(a[j]=='7')
t[i]+="0111";
if(a[j]=='8')
t[i]+="1000";
if(a[j]=='9')
t[i]+="1001";
if(a[j]=='A')
t[i]+="1010";
if(a[j]=='B')
t[i]+="1011";
if(a[j]=='C')
t[i]+="1100";
if(a[j]=='D')
t[i]+="1101";
if(a[j]=='E')
t[i]+="1110";
if(a[j]=='F')
t[i]+="1111";
}
}
for(int i=1;i<=n;i++)
{
if(n%i==0)
{
if(dfs(i))
mark=i;
}
}
cout<<mark;
}
Educational Codeforces Round 59 (Rated for Div. 2) (前四题)的更多相关文章
- Educational Codeforces Round 59 (Rated for Div. 2) DE题解
Educational Codeforces Round 59 (Rated for Div. 2) D. Compression 题目链接:https://codeforces.com/contes ...
- Educational Codeforces Round 59 (Rated for Div. 2) E 区间dp + 状态定义 + dp预处理(分步dp)
https://codeforces.com/contest/1107/problem/E 题意 给出01字符串s(n<=100),相邻且相同的字符可以同时消去,一次性消去i个字符的分数是\(a ...
- C. Brutality Educational Codeforces Round 59 (Rated for Div. 2) 贪心+思维
C. Brutality time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- Educational Codeforces Round 59 (Rated for Div. 2)
熬夜爆肝,智商急剧下降 坐标UTC+8晚上23:35开始 晚上脑袋转的慢,非常慢 T1上来先做还花了好几分钟 T2本来是有式子的我TM写数位DP写炸了然后才发现是有公式 T3英语不好,一开始题意没读懂 ...
- 【考试记录】Educational Codeforces Round 59 (Rated for Div. 2)
本来准备划水,结果被垃圾题艹翻了…… T2题意: 定义一个数$x$的数字根$S(x)$为:将其各位数字相加得到一个新数,再将新数的数字和相加直到得到一个个位数,就是该数的数字根. 例如:$S(38)= ...
- Educational Codeforces Round 78 (Rated for Div. 2) --补题
链接 直接用数组记录每个字母的个数即可 #include<bits/stdc++.h> using namespace std; int a[26] = {0}; int b[26] = ...
- Educational Codeforces Round 76 (Rated for Div. 2) D题
题意: 给你n个关卡,每个关卡有一个怪物,怪物的攻击力为a[i],你有n个英雄,每个英雄有一个攻击力,和疲劳值,只要英雄的攻击力比怪物的高就算打过了,同时疲劳减一,一天只能出战一个英雄,一个英雄可以打 ...
- Educational Codeforces Round 67 (Rated for Div. 2) B题【前缀+二分】【补题ING系列】
题意:给出一个字符串s, 可以从左往右拿走s的字符, 至少要到s的第几个位置才能拼成t 思路:用二维数组记录前缀,然后二分即可. #include<bits/stdc++.h> using ...
- Educational Codeforces Round 72 (Rated for Div. 2) C题
C. The Number Of Good Substrings Problem Description: You are given a binary string s (recall that a ...
随机推荐
- SCUT - 261 - 对称与反对称 - 构造 - 简单数论
https://scut.online/p/261 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 由于M不是质数,要用扩展欧几里得求逆元,而不是费马小定理! 由于M不是质数,要用扩展欧几 ...
- hihocoder 1584 Bounce(找规律)
传送门 题意 略 分析 我们观察几张图 发现菱形的边长为n-1和m-1的公约数 将图简化一下 接下来我们计算只经过一次的点,分成两类 1.与边相交 num1=x+y 2.未与边相交,在菱形内 num2 ...
- 51nod 1051 最大子矩阵和(DP)
题意 略 分析 一道经典的DP题,但是我弱到差点做不出来,真的垃圾 设置\(sum(i,j)代表1-i行第j列的前缀和\),然后枚举行i和行j,再枚举列k,做一遍类似一维的最大子段和即可 #inclu ...
- hdoj1001【智障了。。。】
我不得不写这样一发,来提醒自己,本来是想在xixi面前1minAC,然后: 我没有用long long. wa一发 他告诉我每个案例后都要再加一个空行,没看见PE一 #include<iostr ...
- bzoj 4446: [Scoi2015]小凸玩密室【树形dp】
神仙题!参考https://www.cnblogs.com/wfj2048/p/7695711.html 注意完全二叉树不是满二叉树!!!! 设g[u][j]为u遍历完子树到深度为i-1的祖先的兄弟的 ...
- Luogu2261[CQOI2007]余数求和 【数论】By cellur925
题目传送门 省选题竟然送了这么多分,60分直接暴力算就行.(算了,07年的省选) 数学题嘛,通常我们需要把式子展开,然后寻找一些性质化简=w=. 展开式以及寻找规律的过程lyd老师讲的很清楚T_T,放 ...
- udp聊天交互
#****server端 import socket sk = socket.socket(type = socket.SOCK_DGRAM) sk.bind(('127.0.0.1', 8050)) ...
- Fzu Problem 1901 Period II (kmp)
题目链接: Problem 1901 Period II 题目描述: 给出一个串,满足长度为p的前缀和长度为p的后缀相等的p的个数,输出p的个数,和p分别是多少? 解题思路: 对kmp的next数组的 ...
- Castle.net
using System; using System.Collections.Generic; using System.Linq;using System.Text;using Castle.Act ...
- img 标签访问图片返回403forbidden
做百度编辑器时,从秀米复制过来的文档,图片不无法加载,返回403的错 解决办法 解决这个问题只需要在头部添加一个meta <meta name="referrer" cont ...