补题补题……实在是太弱了orz(○| ̄|_ ) 就是因为弱才要更努力啊=w=

(补完这波该收拾收拾准备考试了……莫名马上就到期中考试周了orz)

A.QAQ

大爱出题人呐=w=,配图是宝石之国!超赞!

题意是求“QAQ”子串的个数……数一数一共多少个A,然后记录一下,每个A左边有多少个Q就好了,A右边Q的个数是nQ-cntQ[i],结果就是∑nQ[i]*(nQ-cntQ[i]);

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
string s;
int nQ=0;
int cntQ[105];
int main()
{cin>>s;int crt=0;for(int i=0;i<s.length();i++){if(s[i]=='A')cntQ[crt++]=cnt0;if(s[i]=='Q') nQ++;}ll ans=0;for(int i=0;i<crt;i++)ans+=cntQ[i]*(nQ-cntQ[i]);cout<<ans<<endl;return 0;
}

B.Ralph And His Magic Field

emmmmm给出一个n*m的矩阵还有每行每列的乘积,去填充1或者-1,求总共有多少种填充的方法  //为什么这么显而易见的问题会卡那么久orz

假设前(n-1)*(m-1)已经填充好了,不管乘积是1还是-1,我们总能找到一种填充方法使得满足题意,因此答案就是mod_pow(2,(n-1)*(m-1));

//需要注意的是,(n-1)*(m-1)会爆long long,记得拆分开计算……(orz没注意,然后被hack,心痛)

//还有就是,n,m不是同奇同偶的时候,如果乘积要求为-1,是无法找到满足题意的方法的,此时输出0

(画一画比较好想,比如一个n*m(n<m)的矩阵,我们把左上角n*n的矩阵的对角线填充为-1,此时保证n行的乘积均为-1,可是却无法在第m列填充-1使得第i行乘积为-1)

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod=1e9+7;
ll n,m,k;
ll modpow(ll a,ll k)
{ll  ans=1;while(k){if(k&1) ans=(ans*a)%mod;a=(a*a)%mod;k>>=1;}return ans;
}
int main()
{cin>>n>>m>>k;int a=n%2,b=m%2;if(a!=b&&k==-1)cout<<"0"<<endl;else{ll ans1=modpow(2,n-1)%mod;ll ans2=modpow(ans1,m-1)%mod;cout<<ans2<<endl;}return 0;
}

C.Marco and GCD Sequence

tutorial:

If the minimum element isn't the gcd of the given set, the answer is -1. Otherwise, we can insert the minimum element between two consecutive elements of the set. And the length of the sequence is 2n - 1 which satisfies the constraints.

(我真的……想不到要这么做……绝望orz)

判断-1的情况还是比较好想的,如果当前序列的gcd都不在序列里,那肯定找不到满足题意的原序列。

然后……在每两个元素之前插入当前序列的最小元素,然后就可以构造出一个满足题意的原序列……

毕竟题目里没说元素不可以重复,只是在求gcd的时候只保留一个……

(然后我就exm??一脸懵逼,我还想着怎么删减元素找原序列……想想就……是我zz……)

不过其实想想也是……为什么会觉得原序列为什么就一定要比当前序列短呢??明明原序列的所有元素都应该在当前序列里,有i<=j……

明明原序列的元素一定在当前序列里,然后我们只需要把当前序列中的最小公倍数填充进去就可以保证当前序列是原序列的任意段gcd的集合……

#include<bits/stdc++.h>
using namespace std;
const int N=1e3+5;
int n,s[N];
int main()
{cin>>n;for(int i=0;i<n;i++)cin>>s[i];for(int i=1;i<n;i++)if(s[i]%s[0]!=0){cout<<"-1"<<endl;return 0;}cout<<2*n-1<<endl;for(int i=0;i<n;i++){cout<<s[i];i==n-1?cout<<endl:cout<<" "<<s[0]<<" ";}return 0;
}

D……待补……

转载于:https://www.cnblogs.com/Egoist-/p/7867084.html

Codeforces Round #447 Div. 2 A.B.C相关推荐

  1. Codeforces Round #447 (Div. 2) B. Ralph And His Magic Field 数学

    题目链接 题意:给你三个数n,m,k;让你构造出一个nm的矩阵,矩阵元素只有两个值(1,-1),且满足每行每列的乘积为k,问你多少个矩阵. 解法:首先,如果n,m奇偶不同,且k=-1时,必然无解: 设 ...

  2. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  3. Codeforces Round #563 (Div. 2)/CF1174

    Codeforces Round #563 (Div. 2)/CF1174 CF1174A Ehab Fails to Be Thanos 其实就是要\(\sum\limits_{i=1}^n a_i ...

  4. 构造 Codeforces Round #302 (Div. 2) B Sea and Islands

    题目传送门 1 /* 2 题意:在n^n的海洋里是否有k块陆地 3 构造算法:按奇偶性来判断,k小于等于所有点数的一半,交叉输出L/S 4 输出完k个L后,之后全部输出S:) 5 5 10 的例子可以 ...

  5. Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...

  6. Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...

  7. Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...

  8. Codeforces Round #700 (Div. 2) D2 Painting the Array II(最通俗易懂的贪心策略讲解)看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 整场比赛的A ~ E 6题全,全部题目超高质量题解链接: Codeforces Round #700 ...

  9. Codeforces Round #699 (Div. 2) F - AB Tree(贪心、树上DP)超级清晰,良心题解,看不懂来打我 ~

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #699 (Div. 2) F - AB Tree Problem ...

最新文章

  1. Citrix Reciever更改https为http模式
  2. 学会python编程容易吗-Python编程入门难不难
  3. sv队列和动态数组的区别_systemverilog学习(4)动态数组
  4. ASA防火墙外部web应用端口与默认审查协议相冲突的解决方法
  5. Eureka集群搭建
  6. 今年圣诞,麋鹿第一次请假
  7. 同一路由带参刷新,以及params和query两种方式传参的异同
  8. 细说浏览器特性检测(1)-jQuery1.4添加部分
  9. java判断一个数值是否在数学区间范围内
  10. centos 安装nodejs与vue手脚架安装
  11. MySQL update慢问题解决
  12. php define函数
  13. 小程序之跨平台黑魔法
  14. python查看qq撤回消息_QQ坦白说里匿名叫我还想逃?Python轻松查看匿名用户信息...
  15. 学习java 的第一节课
  16. arnold和redshift渲染器
  17. 2020-2021追番报告
  18. erlang send_after 源码剖析
  19. 互联网舆情系统的架构实践
  20. 【JAVA】easyexcel 导出excel文件带多个图片

热门文章

  1. Spring容器创建流程(4)调用beanFactory后置处理器
  2. java 密码规则_密码规则(正则表达式)
  3. ckc交易什么意思_1379ip0在股市是什么意思,600875东方电气股票,股市交易手续费计算...
  4. 压缩数据成JPG到内存-windows
  5. pycharm+python3.7+pyqt配置_Python3+Pycharm+PyQt5环境搭建步骤图文详解
  6. c#如何通过ftp上传文件_自动备份ftp,通过定时设置自动备份ftp上传下载文件
  7. coreboot学习6:ramstage阶段之芯片初始化流程
  8. linux时区的几个代码片段
  9. js图片转二进制流_为了安全问题后台返回前端得文件为二进制得流,我们该如何处理这些流文件...
  10. 【java】浅析JDK中ServiceLoader的源码