(留坑)

/*
不知道为什要找的循环节TM这么长
*/
#include<cstdio>
#include<cstdlib>
#include<cstring> using namespace std; #ifdef unix
#define LL "%lld"
#else
#define LL "%I64d"
#endif const int maxn=;
const long long mo=;
const long long mo2=mo*+;
const long long mo3=mo2*; char s[maxn]; struct matrix
{
long long z[][];
matrix()
{
memset(z,,sizeof(z));
}
matrix operator*(const matrix &a)const
{
matrix ans;
for (int b=;b<=;b++)
for (int c=;c<=;c++)
for (int d=;d<=;d++)
ans.z[b][c]=(ans.z[b][c]+z[b][d]*a.z[d][c]%mo)%mo;
return ans;
}
matrix operator+(const matrix &a)const
{
matrix ans;
for (int b=;b<=;b++)
for (int c=;c<=;c++)
for (int d=;d<=;d++)
ans.z[b][c]=(ans.z[b][c]+z[b][d]*a.z[d][c]%mo2)%mo2;
return ans;
}
}m1,m2; struct bign
{
int z[maxn],l;
void init()
{
memset(z,,sizeof(z));
scanf("%s",s+);
l=strlen(s+);
for (int a=;a<=l;a++)
z[a]=s[l-a+]-'';
}
long long operator%(const long long &a)const
{
long long b=;
for (int c=l;c>=;c--)
b=(b*+z[c])%a;
return b;
}
}z; long long get(long long v)
{
if (v==) return ;
m1.z[][]=;
m1.z[][]=;
m2.z[][]=;
m2.z[][]=m2.z[][]=m2.z[][]=;
while (v)
{
if (v&) m1=m1*m2;
m2=m2*m2;
v>>=;
}
return m1.z[][];
} long long get1(long long v)
{
if (v==) return ;
m1.z[][]=;
m1.z[][]=;
m2.z[][]=;
m2.z[][]=m2.z[][]=m2.z[][]=;
while (v)
{
if (v&) m1=m1+m2;
m2=m2+m2;
v>>=;
}
return m1.z[][];
} int main()
{
freopen("na.in","r",stdin);
freopen("na.out","w",stdout); int t;
scanf("%d",&t);
for (int a=;a<=t;a++)
{
z.init();
long long v1=z % mo3;
v1=get1(v1);
printf(LL "\n",get(v1));
} return ;
}

清北国庆day1 (脑)残的更多相关文章

  1. 清明培训 清北学堂 DAY1

    今天是李昊老师的讲授~~ 总结了一下今天的内容: 1.高精度算法 (1)   高精度加法 思路:模拟竖式运算 注意:进位 优化:压位 程序代码: #include<iostream>#in ...

  2. 4.4清北学堂Day1 主要内容:数论,数学

    Day 1; 1.常见的高精 输入输出都用字符数组: 字符数组的实际长度用strlen()来求: 运算时倒序运算,把每一个字符都-‘0’ 进位的处理上也要注意: 小数减大数时先判断大小然后加负号 只能 ...

  3. 五一培训 清北学堂 DAY1

    今天是冯哲老师的讲授~ 1.枚举 枚举也称作穷举,指的是从问题所有可能的解的集合中一一枚举各元素. 用题目中给定的检验条件判定哪些是无用的,哪些是有用的.能使命题成立的即为其解. 例一一棵苹果树上有n ...

  4. 清北合肥day1

    题目: 1.给出一个由0,1组成的环 求最少多少次交换(任意两个位置)使得0,1靠在一起 n<=1000 2.两个数列,支持在第一个数列上区间+1,-1 每次花费为1 求a变成b的最小代价 n& ...

  5. 2017 五一 清北学堂 Day1模拟考试结题报告

    预计分数:100+50+50 实际分数:5+50+100 =.= 多重背包 (backpack.cpp/c/pas) (1s/256M) 题目描述 提供一个背包,它最多能负载重量为W的物品. 现在给出 ...

  6. 2017.10.1 国庆清北 D1T1 zhx的字符串题

    题目背景 2017国庆清北D1T1 题目描述 你是能看到第一题的 friends 呢. ——hja 何大爷对字符串十分有研究,于是天天出字符串题虐杀 zhx.何大爷今天为 字符串定义了新的权值计算方法 ...

  7. 清北学堂 2020 国庆J2考前综合强化 Day7

    目录 1. 题目 T1 魔力石 题目描述 Sol T2 和 题目描述 Sol T3 数对 题目描述 Sol T4 海豹王国 题目描述 Sol 考场策略 1. 题目 T1 魔力石 题目描述 题目描述 小 ...

  8. 清北Day4

    版权声明:如需转载请标明出处,未得到本人许可请勿转载. 今天就可以看到传说中的 数据结构 嘿嘿嘿嘿 都有什么呢 链表 队列 栈 st表 hash 线段树 树链剖分 一.栈: 放出来这个看烂了的图 值得 ...

  9. 清北学堂2017NOIP冬令营入学测试P4745 B’s problem(b)

    清北学堂2017NOIP冬令营入学测试 P4745 B's problem(b) 时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试 描述 题目描 ...

随机推荐

  1. ecshop /includes/lib_base.php、/includes/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php Backdoor Vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 ECShop是国内一款流行的网店管理系统软件,其2.7.3版本某个补丁存 ...

  2. Linux 下进程的内存空间分配

    这里主要是以 C 语言为例,其他语言开发的程序,每个进程都会有一个类似的空间.下面是一段 C 代码: #include <stdlib.h> #include <stdio.h> ...

  3. python 集合、函数和文件操作

    1.set集合 set集合是一个无序.不可重复.可嵌套的序列,基本功能是进行成员关系测试和删除重复元素,可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不 ...

  4. [Android] View.setTag(key,Object) (java.lang.IllegalArgumentException: The key must be an application-specific resource id.)

    转自: http://blog.csdn.net/brokge/article/details/8536906 setTag是android的view类中很有用的一个方法,可以用它来给空间附加一些信息 ...

  5. POJ - 2253 Frogger(Dijkstra变形题)

    题意: 题目撰写者的英语真是艰难晦涩,看了别人题解,才知道这题题意. 两个forger 一个froger 要蹦到另外一个froger处,他们的最短距离是这样定义的 : The frog distanc ...

  6. Android中的Binder机制的简要理解

    转载自:http://www.linuxidc.com/Linux/2012-07/66195.htm http://blog.csdn.net/sunxingzhesunjinbiao/articl ...

  7. 【项目】UICollectionView 对象自定

    陈述一下简单流程: 1.首先定义:UICollectionViewFlowLayout 2.初始化UICollectionView 3.注册复用的cell,定义她们的reuseIndefinite 4 ...

  8. Nginx系列2之Nginx+php

    preface 公司所有的大多数业务都泡在LNMP平台上,所以对PHP+Nginx有点了解,那么就做个小小的总结吧. what's FastCGi FastCGI是一个可伸缩,高速的在HTTP ser ...

  9. JavaScript之闭包

    JavaScript之闭包 在JavaScript中,闭包恐怕是很多人不能理解的一个概念了,甚至很多人也会把闭包和匿名函数混淆. 闭包是有权访问另一个函数作用域中的变量的函数.首先要明白的就是,闭包是 ...

  10. 条件运算符(?:)和 $""替代string.Format()

    1. 条件运算符(?:)根据Boolean表达式的值返回两个值之一.表达式如下: condition ? first_expression : second_expression 2. $" ...