Soved:3

rank:133

A.Ternay String

欧拉降幂一下 但是反复求phi会超时 但mod是同一个就可以记忆化一下

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod = 1e9 + ; char s[];
int len;
map<ll, ll> mp; ll getphi(ll o)
{
if(mp[o]) return mp[o];
ll res = o;
ll n = o;
for(ll i = ; i * i <= n; i++)
{
if(n % i == )
{
res -= res / i;
while(n % i == ) n /= i;
}
}
if(n > ) res -= res / n;
mp[o] = res;
return res;
} ll pow_mod(ll x, ll y, ll mo)
{
ll res = ;
while(y)
{
if(y & ) res = res * x % mo;
y >>= ;
x = x * x % mo;
}
return res;
} ll dfs(ll x, ll m)
{
if(x < ) return ;
if(m == ) return ;
if(s[x] == '')
{
ll p = getphi(m);
ll tmp = (dfs(x - , p) + p) % p;
tmp = pow_mod(, tmp, m);
return (6LL * tmp % m - 3LL + m) % m;
}
if(s[x] == '') return (dfs(x - , m) + 1LL) % m;
if(s[x] == '') return (dfs(x - , m) * 2LL + 2LL) % m;
return ;
} int main()
{
int T;
scanf("%d", &T);
while(T--)
{
scanf("%s", s);
len = strlen(s);
ll ans = dfs(len - , mod);
printf("%lld\n", ans);
}
return ;
}

牛客多校Round 4的更多相关文章

  1. 牛客多校Round 10

    咕咕咕.... 去烽火台和兵马俑了

  2. 牛客多校Round 9

    Solved:1 rank:112 E. Music Game 题解说有个非简化的原题 bzoj4318 #include <bits/stdc++.h> using namespace ...

  3. 牛客多校Round 8

    Solved:2 rank:164 签了两个oeis,但这样真的开心嘛

  4. 牛客多校Round 6

    Solved:3 rank:156 J. Heritage of skywalker 学习一下nth_element 可以o (n)的找出前多少大的元素 #include <bits/stdc+ ...

  5. 牛客多校Round 5

    Solved:3 rank:195 F. take 官方题解:小 A 在打开第 i 个箱子后会交换手中的钻石和第 i 个箱子中的钻石 当且仅当第 i个箱子的钻石是前 i 个箱子打开后出现的所有钻石里最 ...

  6. 牛客多校Round 3

    Solved:2 rank:306 跑路场..... A.PACM team 简单背包记录路径都写挂 退役算了 #include <bits/stdc++.h> using namespa ...

  7. 牛客多校Round 2

    Solved:3 rank:187 H.travel 题意:给一颗带有点权的树 找三条不相交的链 使得点权最大 题解:使用树形DP dp[x][i][0/1] 表示x节点选择i条链 有没有经过x的链 ...

  8. 牛客多校Round 1

    Solved:1 rank:249 E. Removal dp i,j表示前i个数删除了j个且选择了第i个的答案 类似字符串的dp 预处理一下nex i_k即i后面k第一次出现的位置  就好转移了 # ...

  9. 2019牛客多校第一场 I Points Division(动态规划+线段树)

    2019牛客多校第一场 I Points Division(动态规划+线段树) 传送门:https://ac.nowcoder.com/acm/contest/881/I 题意: 给你n个点,每个点有 ...

随机推荐

  1. Android 网络学习之获取server文本文件

    上次我们学习怎样从网络上获取一张图片,今天我们学习怎样从网络上获取文本文件.以XML文件为样例. 由于XML文件在实际开发中最为常见. 我们以以下图片为样例学习怎样从网络上获取XML文件 我们的xml ...

  2. Unix - 文件里构成一个空洞的分析

    lseek函数显示地为一个打开文件设置偏移量,文件偏移量能够大于文件的当前长度,在这样的情况下.对该文件的下一次写将加长该文件.并在文件里构成一个空洞,这一点是同意的. 位于文件里但没有写过的字节都被 ...

  3. 关于appcompat_v7的说明

    http://blog.csdn.net/crazykbc/article/details/21553699 问题描述: 使用eclipse创建一个Android项目时,发现project列表中会多创 ...

  4. 多台Mac电脑使用同一个apple开发者账号测试

    因为公司有苹果一体机,家里有macbook和黑苹果台式机,多台电脑用同一个开发者账号,每次真机调试时都是选择直接reset,回到另外一台电脑,又要重新设置,太麻烦了.直到最近才设置三台电脑都可以,分享 ...

  5. python调用java程序--jpype

    官方网站:http://jpype.sourceforge.net/ 官方使用文档:http://jpype.sourceforge.net/doc/user-guide/userguide.html ...

  6. 7. ExtJS.form中msgTarget

    转自:https://www.cnblogs.com/guafuli/articles/msgtarget_values.html Ext表单提示方式:msgTarget:有4中方式:qtip,tit ...

  7. 28. extjs中Ext.BLANK_IMAGE_URL的作用

    转自:https://blog.csdn.net/yiyuhanmeng/article/details/6960132 在使用ExtJS时,我们往往需要在使用之前加入这么一句:Ext.BLANK_I ...

  8. 13.Ext.extend用法以及代码解读

    转自:http://www.blogjava.net/dragonshrimp/archive/2008/03/01/183060.html Ext.extend用法以及代码解读 概述 Ext.ext ...

  9. Ueditor 单独使用上传图片及上传附件方法

    1 <script type="text/plain" id="upload_ue"></script> 2 <script ty ...

  10. Invalid default value for 'create_date' timestamp field

    创建表的语句中有这么一句 `create_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00', 1 之后就报了这个错误. That is be ...