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. Codeforces Round #436 (Div. 2) E. Fire(背包+记录路径)

    传送门 题意 给出n种物品,抢救第\(i\)种物品花费时间\(t_i\),价值\(p_i\),截止时间\(d_i\) 询问抢救的顺序及物品价值和最大值 分析 按\(d_i\)排序的目的是防止以下情况 ...

  2. POJ 2392【多重背包】

    题意: k个块,给出每个块的高度hi,数量ci,不能超过的高度: 求这些块可以组成的最大高度一个. 思路: 大致可看这个题是一个背包,背包的承重是高度. 对于每个物品,有他的价值是高度,还有限定的数量 ...

  3. hdoj5115【区间DP·基础】

    题意: 有n头wolf排成一排,杀一头wolf回受到受到的伤害=它的本身a[i]+相邻两个b[i-1]+b[i+1].然后杀死第k个位置的wolf的话,k-1和k+1默认相邻(满足的话). 思路: 用 ...

  4. 黑客攻防技术宝典web实战篇:工具web服务器习题

    猫宁!!! 参考链接:http://www.ituring.com.cn/book/885 随书答案. 1. 在什么情况下 Web 服务器会显示目录列表? 如果请求某目录的 URL 且满足以下条件,W ...

  5. USB转串口 FT232/PL2303芯片使用体会

    现在笔记本上很少带有串口了,而串口又是做电子设计必备的通讯接口之一,好在USB转串口比较方便,市面上常用的USB转串口芯片有很多,最常见的有FT232.PL2303.CH340三种 原理:单片机的TX ...

  6. $P2872\ [USACO07DEC]道路建设Building\ Roads$

    \(problem\) 错的原因是\(RE\)(大雾 , 时刻谨记 \(N\) 个地方的话 保守开 \(\frac{N^2}{2}\) 大小. 因为是边. 边最多的情况即完全图 : $1+2+3+4. ...

  7. N Queen Again LightOJ - 1061

    N Queen Again LightOJ - 1061 首先预处理(或打表)出所有八皇后的解法(只有92种).然后枚举目标状态,对于每一个目标状态用一个状压dp求出到达那个状态的最小费用.到达任何一 ...

  8. android动画(2)自定义动画

    public class CustomAnimation extends Animation { // 这个方法可以获得动画view的width,height,以及它父view的width @Over ...

  9. C. Tennis Championship dp递推 || 找规律

    http://codeforces.com/contest/735/problem/C C. Tennis Championship time limit per test 2 seconds mem ...

  10. Myisamchk使用

    Myisam损坏的情况: . 服务器突然断电导致数据文件损坏;强制关机,没有先关闭mysql 服务;mysqld 进程在写表时被杀掉.因为此时mysql可能正在刷新索引. . 磁盘损坏. . 服务器死 ...