T1还是个找规律啊,记下b的个数,然后直接*2%10000000009就好了

 #include <bits/stdc++.h>
#define mo 1000000007
using namespace std;
char s[];
long long b,o;
long long ans;
int main()
{
cin>>s;
int length=strlen(s);
for(int i=length-;i>=;i--)
{
if(s[i]=='a')
o++;
}
if(o==length)
{
cout<<"-1"<<endl;
return ;
}
for(int i=length-;i>=;i--)
{
if(s[i]=='b')
{
b++;
continue;
}
ans+=b;
b=b*%mo;
}
printf("%lld",ans%mo);
}

T2比较好玩,我打挂了

本来的思路是不断的记二进制数,最多5次,转化五次,五个数组,然后一一比对的,理论可过,但是我挂了

正解居然是个DP???

 #include <bits/stdc++.h>
#define ll long long
#define mo 1000000007
using namespace std;
ll b,k,sum,now;
int p,cnt;
ll ans[];
char a[];
ll dp[][];
void solve(int x)
{
int point=x;
int num=;
while(x)
{
if(x%==)
num++;
x/=;
}
ans[point]=ans[num]+;
}
int main()
{
cin>>a>>k;
int length=strlen(a);
if(k==)
{
cout<<length-<<endl;
return ;
}
if(k==)
{
cout<<<<endl;
return ;
}
if(k>)
{
cout<<<<endl;
return ;
}
k--;
for(int i=;i<=;i++)
solve(i);
for(int i=;i<length;i++)
dp[i][]=;
for(int i=;i<length;i++)
dp[i][i]=;
for(int i=;i<length;i++)
for(int j=;j<=i;j++)
{
dp[i][j]=(dp[i-][j]+dp[i-][j-])%mo;
}
for(int i=;i<length;i++)
{
if(a[i]=='')
continue;
for(int j=;j<length-i;j++)
{
if(ans[j+now]==k)
{
sum+=dp[length-i-][j];
sum=sum%mo;
}
}
now++;
}
if(ans[now]==k)
sum++;
cout<<sum%mo<<endl;
return ;
}

T3部分分的做法是树的直径,理论可得50,但是我又挂了...

现在正解也不太会,代码先空着2333

佳木斯集训Day6的更多相关文章

  1. LOJ #6074. 「2017 山东一轮集训 Day6」子序列

    #6074. 「2017 山东一轮集训 Day6」子序列 链接 分析: 首先设f[i][j]为到第i个点,结尾字符是j的方案数,这个j一定是从i往前走,第一个出现的j,因为这个j可以代替掉前面所有j. ...

  2. 佳木斯集训Day1

    23333第一次写博客 其实在佳木斯集训之前我都已经两三个月没打代码了 在佳木斯的时候前几天真心手生,导致了前几次考试考的很差... D1的考试还是比较良心的,T1是一道大模拟,直接枚举最后几位是00 ...

  3. 2019暑期金华集训 Day6 杂题选讲

    自闭集训 Day6 杂题选讲 CF round 469 E 发现一个数不可能取两次,因为1,1不如1,2. 发现不可能选一个数的正负,因为1,-1不如1,-2. hihoCoder挑战赛29 D 设\ ...

  4. 2019暑期金华集训 Day6 计算几何

    自闭集训 Day6 计算几何 内积 内积不等式: \[ (A,B)^2\le (A,A)(B,B) \] 其中\((A,B)\)表示\(A\cdot B\). (好像是废话?) 叉积 \[ A\tim ...

  5. 考前停课集训 Day6 垒

    Day 6 今天在家里的 家里蹲 其实是day7的时候想到要写day6了 草率补充一下 NOIP考前棕名退不掉咯 你觉得我还会打洛谷的题目吗? 依然退步 没用心 T1 分火腿 数论题 我感觉挺难的 T ...

  6. 2022寒假集训day6

    day6上午还是做四道题T1区域[上机练习]1.编程计算由"*"号围成的下列图形的面积.面积计算方法是统计*号所围成的闭合曲线中水平线和垂直线交点的数目.如下图所示,在 10*10 ...

  7. 省队集训day6 C

    Description 给定平面上的 N 个点, 其中有一些是红的, 其他是蓝的.现在让你找两条平行的直线, 使得在保证    不存在一个蓝色的点 被夹在两条平行线之间,不经过任何一个点, 不管是蓝色 ...

  8. 省队集训day6 B

    一道AC自动机题···· 一定要把一个节点没有的儿子接到它fai的儿子,否则会卡到n^2的······· #include<cstdio> #include<iostream> ...

  9. 省队集训day6 A

    code: #include<cstdio> #include<iostream> #include<cmath> #include<cstring> ...

随机推荐

  1. 使用JavaScript带你体验V8引擎解析字符串过程

    AST模块其实要写的话,100篇都写不完,我将一些简单知识点翻译成JavaScript代码来进行讲解(v8内部的复杂性永远都能超出我的意料,现在看到万行的源码都已经没感觉了),如果谁想看C++源码,就 ...

  2. 一文看懂Python的面向对象编程

    之前在网络上看了很多关于面向对象的编程详解,还是不够过瘾,所以决定自己动手写一篇. 面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计. 类(Class) ...

  3. ABP开发框架前后端开发系列---(15)ABP框架的服务端和客户端缓存的使用

    缓存在一个大型一点的系统里面是必然会涉及到的,合理的使用缓存能够给我们的系统带来更高的响应速度.由于数据提供服务涉及到数据库的相关操作,如果客户端的并发数量超过一定的数量,那么数据库的请求处理则以爆发 ...

  4. C# 获取计算机相关信息

    整理了一个关于计算机相关系统的资料 需要引入命名空间: 1. 在'解决方案资源管理器' 窗口中->右击项目-> '添加' -> '引用' 弹出引用管理器 2. 在引用处理器中,程序集 ...

  5. 【深入浅出-JVM】(5):Java 虚拟机结构

    Java 虚拟机基本结构 Java 堆 新生代.老年代划分 栈帧 感谢您的耐心阅读,如果您发现文章中有一些没表述清楚的,或者是不对的地方,请给我留言,您的鼓励是作者写作最大的动力. 作 者 : @mo ...

  6. HTML认识二

    <!doctype html> <html lang="en"><head> <meta charset="UTF-8" ...

  7. Vue状态管理之Bus

    一般在项目中,状态管理都是使用Vue官方提供的Vuex 当在多组件之间共享状态变得复杂时,使用Vuex,此外也可以使用Bus来进行简单的状态管理 1.1 父组件与子组件之间的通信 vue.config ...

  8. Java异常与处理机制

    Java的异常层次体系 Java的所有异常对象都派生自Throwable类,下层有两个分支:error和exception. Error分支描述Java运行时系统内部错误或资源耗尽错误,遇到派生自Er ...

  9. SSM 框架集成

    1.SSM是什么? SSM是指目前最主流的项目架构的三大框架: SpringMVC : spring的 Web层框架,是spring的一个模块 Spring :容器框架 MyBatis :持久层框架 ...

  10. NameNode故障处理方法

    NameNode故障处理方法 简述 NameNode故障后,可以通过下列两种方式进行恢复数据: 方法一(手动):将SecondaryNameNode文件下的数据复制到NameNode中 方法二(程序) ...