这个题。。。

  

 1 #include <bits/stdc++.h>
 2 #define rep(i, a, b) for (int i = a; i <= b; i++)
 3 #define drep(i, a, b) for (int i = a; i >= b; i--)
 4 #define REP(i, a, b) for (int i = a; i < b; i++)
 5 #define mp make_pair
 6 #define pb push_back
 7 #define clr(x) memset(x, 0, sizeof(x))
 8 #define xx first #define yy second
 9 using namespace std;
10 typedef pair<int, int> pii;
11 typedef unsigned long long ll;
12 const int inf = 0x3f3f3f3f;
13 const ll INF = 0x3f3f3f3f3f3f3f3fll;
14 //************************************************
15
16 const ll mod = 7528443412579576937LL;
17 ll mul(ll base, ll num) {
18     ll ret(0);
19     while (num) {
20         if (num & 1) ret = (ret + base) % mod;
21         base = (base + base) % mod;
22         num >>= 1;
23     }
24     return ret;
25 }
26 struct matrix {
27     ll s[3][3]; matrix () { clr(s); }
28     matrix operator * (const matrix &B) const {
29         matrix A = *this, C;
30         rep(i, 1, 2) rep(j, 1, 2) rep(k, 1, 2)
31             C.s[i][j] = (C.s[i][j] + mul(A.s[i][k], B.s[k][j]) % mod) % mod;
32         return C;
33     }
34 } ori;
35
36 matrix POW(matrix base, ll num) {
37     matrix ret = ori;
38     while (num) {
39         if (num & 1) ret = ret * base;
40         base = base * base;
41         num >>= 1;
42     }
43     return ret;
44 }
45
46 int main() {
47     ll b, d, n; scanf("%llu%llu%llu", &b, &d, &n);
48     ll a = b, c = (d - b * b) >> 2;
49     ori.s[1][1] = ori.s[2][2] = 1;
50     matrix base; base.s[1][1] = a, base.s[2][1] = c, base.s[1][2] = 1;
51     matrix ans;
52     ans.s[1][2] = 2, ans.s[1][1] = b;
53     ans = ans * POW(base, n);
54     if (d != b * b && n % 2 == 0) ans.s[1][2]--;
55     printf("%llu\n", ans.s[1][2]);
56 }

View Code

转载于:https://www.cnblogs.com/y7070/p/5183768.html

bzoj 4002: [JLOI2015]有意义的字符串相关推荐

  1. bzoj 4002: [JLOI2015]有意义的字符串(特征根法+矩阵快速幂)

    4002: [JLOI2015]有意义的字符串 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 960  Solved: 415 [Submit][S ...

  2. BZOJ 4002--有意义的字符串(矩阵乘法)

    4002: [JLOI2015]有意义的字符串 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 963  Solved: 416 [Submit][S ...

  3. 【BZOJ】4084: [Sdoi2015]双旋转字符串 哈希

    传送门:bzoj4084 题解 题面非常坑!!! 要求的是Si+TjSi+TjS_i+T_j,但实际上任意Tj+SiTj+SiT_j+S_i也可以算. AC的程序跑出的两组数据: input: 1 1 ...

  4. JLOI2015 解题报告

    JLOI2015 真的不愧是NOI出题组出的,题目难度够吊.不过每一道都是结论题和乱搞题真的很不好玩... T1:[JLOI2015]有意义的字符串 首先贴下popoqqq的blog吧 感性的认识就是 ...

  5. 【整理】有待完成的题目

    mobius反演 bzoj2154Crash的数字表格 bzoj2693jzptab bzoj2440[中山市选2011]完全平方数 bzoj3994[SDOI2015]约数个数和 bzoj3930[ ...

  6. 零基础入门学习Python(13)-字符串

    字符串和元组是非常相似的,一旦被定义就不能被轻易修改 非要修改可以用切片和连接符 这样旧的字符串str1还在哦,赋值之后才会覆盖哦,python的垃圾回收机制过会就会把没有标签指向的字符串剔除 字符串 ...

  7. r 字符串转化为数值_Lua 字符串处理

    今天项目中遇到一个字符串处理的通用函数,一时不明白胡乱搜索后才发现原来是字符串处理库里面的通用函数,想着该理一遍字符串. 这个库提供了字符串处理的通用函数.例如字符串查找,子串,模式匹配等.当在Lua ...

  8. 重温CLR(十) 字符、字符串和文本处理

    本章将介绍.net中处理字符和字符串的机制 字符 在.NET Framewole中,字符总是表示成16位Unicode代码值,这简化了国际化应用程序的开发. 每个字符都表示成System.Char结构 ...

  9. lua如何打印行号_Lua 字符串处理

    今天项目中遇到一个字符串处理的通用函数,一时不明白胡乱搜索后才发现原来是字符串处理库里面的通用函数,想着该理一遍字符串. 这个库提供了字符串处理的通用函数.例如字符串查找,子串,模式匹配等.当在Lua ...

最新文章

  1. 通向未来:物联网+人工智能将成为人类的进化方向
  2. python的GUI库PyQt5的使用
  3. MSSQL-字符串分离与列记录合并成一行混合使用
  4. [react] 写一个react的高阶组件并说明你对高阶组件的理解
  5. Ubuntu14.04如何使用root登录
  6. 汉王拉开人脸识别产业化大幕 市场应用前景广阔
  7. Linux设备驱动程序学习(2)-调试技术
  8. 最佳黑色背景的Visual Studio 2005/2008配置-尤其适合开发人员使用
  9. Activity的任务栈Task以及启动模式与Intent的Flag详解
  10. mysql 数据库内存不足_MySQL数据库内存不足怎么办 MySQL数据库使用教程
  11. 基于 Amazon SageMaker 利用 MONAI 处理医疗影像数据实践
  12. A-priori算法的简单实现
  13. 思科ccna认证怎么样关于思科ccnaDLSW技术简述
  14. Cisco测试命令和TCP/IP连接故障处理整理集合
  15. group by 和where可以一起使用吗
  16. laravel laravel-admin 语言包的问题 trans('demo.user_not_exists'); trans(admin::passwords.password);
  17. API接口名称(item_get - 根据ID取商品详情)[item_search,item_get,item_search_shop等]
  18. android 短视频编辑,短视频编辑制作大师
  19. 转:MATLAB2018b
  20. 删除网络共享连接凭据的两种方法

热门文章

  1. WPF如何给窗口设置透明png的图片背景
  2. Android 用MediaCodec ,MediaExtractor解码播放MP4文件
  3. linux钩子函数和回调函数,Linux Kernel 学习笔记10:hook函数
  4. 程序分身:根据不同程序名执行不同函数
  5. GBK转unicode码查询表的改进
  6. 【jvm】jvisualvm 离线下载安装插件
  7. 95-30-010-Broker- Broker上线下线
  8. 【Elasticsearch】使用真实内存断路器提高节点弹性
  9. [Elasticsearch] es 6.8 编译成功
  10. 【Guava】Guava Cache的refresh和expire刷新机制