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) (前四题)的更多相关文章

  1. Educational Codeforces Round 59 (Rated for Div. 2) DE题解

    Educational Codeforces Round 59 (Rated for Div. 2) D. Compression 题目链接:https://codeforces.com/contes ...

  2. 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 ...

  3. 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 ...

  4. Educational Codeforces Round 59 (Rated for Div. 2)

    熬夜爆肝,智商急剧下降 坐标UTC+8晚上23:35开始 晚上脑袋转的慢,非常慢 T1上来先做还花了好几分钟 T2本来是有式子的我TM写数位DP写炸了然后才发现是有公式 T3英语不好,一开始题意没读懂 ...

  5. 【考试记录】Educational Codeforces Round 59 (Rated for Div. 2)

    本来准备划水,结果被垃圾题艹翻了…… T2题意: 定义一个数$x$的数字根$S(x)$为:将其各位数字相加得到一个新数,再将新数的数字和相加直到得到一个个位数,就是该数的数字根. 例如:$S(38)= ...

  6. Educational Codeforces Round 78 (Rated for Div. 2) --补题

    链接 直接用数组记录每个字母的个数即可 #include<bits/stdc++.h> using namespace std; int a[26] = {0}; int b[26] = ...

  7. Educational Codeforces Round 76 (Rated for Div. 2) D题

    题意: 给你n个关卡,每个关卡有一个怪物,怪物的攻击力为a[i],你有n个英雄,每个英雄有一个攻击力,和疲劳值,只要英雄的攻击力比怪物的高就算打过了,同时疲劳减一,一天只能出战一个英雄,一个英雄可以打 ...

  8. Educational Codeforces Round 67 (Rated for Div. 2) B题【前缀+二分】【补题ING系列】

    题意:给出一个字符串s, 可以从左往右拿走s的字符, 至少要到s的第几个位置才能拼成t 思路:用二维数组记录前缀,然后二分即可. #include<bits/stdc++.h> using ...

  9. 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 ...

随机推荐

  1. PTA 水...

    习题4-2 求幂级数展开的部分和 (20分) 已知函数e^x可以展开为幂级数1+x+x2/2!+x3/3!+⋯+xk/k!+⋯1+x+x^2 /2! + x^3 /3! + \cdots + x^k ...

  2. WPF 加载 WINFORM控件 异常: 调度程序进程已挂起,但消息仍在处理中

    在加载TradeAtServer的统计中的 单个合约盈亏情况 异常:,调度程序进程已挂起,但消息仍在处理中 发现可能是属性设置引发的问题 比如DateTimePikcer.Value+= set, g ...

  3. MAC下如何配置Android手机调试(将测试手机加入到Mac系统的调试列表中)

    第一步: 查看usb设备信息 在 终端输入:system_profiler SPUSBDataType     可以查看连接的usb设备的信息 比如我的usb信息如下(部分内容): 查看到我的Andr ...

  4. AForge.net简介和认识

    AForge.NET是一个专门为开发者和研究者基于C#框架设计的,他包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,模糊系统,机器人控制等领域.这个框架由一系列的类库组成.主要包括有 ...

  5. Java | 技术应用 | 利用Jsoup处理页面

    根据微信公众号的推文链接地址,对文章内容进行爬取,利用jsoup解析文章源代码,加上结合xpth提取文文章信息, 利用正则表达式读取文章发表时间. Jsoup <!-- jsoup HTML p ...

  6. AtCoder Grand Contest 018 D - Tree and Hamilton Path

    题目传送门:https://agc018.contest.atcoder.jp/tasks/agc018_d 题目大意: 给定一棵\(N\)个点的带权树,求最长哈密顿路径(不重不漏经过每个点一次,两点 ...

  7. 剪花布条 HDU - 2087

    剪花布条 HDU - 2087 要求各个匹配出来的子串不重叠的kmp.实际上直接贪心从前往后找,每找到一个就把当前j标为0即可.(一般kmp是标为f[j]) #include<cstdio> ...

  8. java基本数据类型在栈中怎么存放的?

    参考地址:https://www.zhihu.com/question/24747160 问:int a = 3; 首先它会在栈中创建一个变量为a的引用,然后查找有没有字面值为3的地址,没找到,就开辟 ...

  9. h5-22-地理位置

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. RHEL7.2安装及配置实验环境

    截图太多了,就不一一上传了,请查看这个分享网址 http://pan.baidu.com/s/1kVeYANH 什么时候博客更新下能直接把图一下复制进来多好!省事.