题目链接: http://codeforces.com/problemset/problem/185/A

  题目描述: 给你一个三角形,每次在上三角形中画一个下三角形, 在下三角形中画一个上三角形, 求最终的上三角形总数是多少

  解题思路: 用矩阵快速幂很好求, 矩阵也很好构造, 这里就不写了, 由于每一层中的上三角形都比上一层多一个, 所以我们只要求出来最下一层再用等差公式就可以了, 第一个最下一层的三角形是1, 然后是2, 4, 8......所以答案就是(1+2^n)*2^n/2

  代码:

#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <cstring>
#include <iterator>
#include <cmath>
#include <algorithm>
#include <stack>
#include <deque>
#include <map>
#define lson l, m, rt<<1
#define rson m+1, r, rt<<1|1
#define mem0(a) memset(a,0,sizeof(a))
#define meminf(a) memset(a,-0x3f,sizeof(a))
#define fi(n) for(i=0;i<n;i++)
#define fj(m) for(j=0;j<m;j++)
#define sca(x) scanf("%d",&x)
#define ssca(x) scanf("%s",x)
#define scalld(x) scanf("%I64d",&x)
#define print(x) printf("%d\n", x)
#define printlld(x) printf("%I64d\n",x)
#define de printf("=======\n")
#define yes printf("YES\n")
#define no printf("NO\n")
typedef long long ll;
using namespace std;const int mod = 1e9+7;ll q_power( ll num, ll n ) {ll ret = 1;while( n ) {if( n & 1 ) ret = ret * num % mod;n >>= 1;num = num * num % mod;//num *= num % mod;  // 两者有什么区别?
    }return ret;
}int main() {ll n;while( cin >> n ) {if( n == 0 ) {cout << "1" << endl;continue;}ll temp = q_power(2, n);cout << (1+temp)*temp/2%mod << endl;}return 0;
}

View Code

  思考: 遇到一个小坑坑, num *= num % mod 与 num = num * num % mod 是不一样的, WA了两次, 真的蠢, 以后注意, 最近思想上有点儿波动, 自我调整一下

转载于:https://www.cnblogs.com/FriskyPuppy/p/7427885.html

Codeforses 185 A Plant 思维 规律相关推荐

  1. Perfect Triples(思维/规律)

    题目 题解&代码 题意:初始一个空数组sss,每次寻找不在数组中的3个不同的数,使得其异或和为0,并加入sss中.求sss第nnn个数. 题解:规律发现所有数都会用上,且4进制相关,详见参考题 ...

  2. codeforce 185 A——Plant

    题意:给定一个大三角形,然后每次按照图片分割成4个小三角形,问n次后有多少个向上的三角形. 思路:矩阵快速幂,可以发现,每一个向上的的可以在下一次产生3个向上的,1个向下的,向下的每次可以产生一个向上 ...

  3. “师创杯”山东理工大学第九届ACM程序设计竞赛 正式赛 F.校赛~校赛~【思维+规律题】

    校赛~校赛~ Time Limit: 1000MS  Memory Limit: 65536KB Submit  Statistic Problem Description SDUT 的校赛是从 20 ...

  4. C. Chocolate Bunny(思维+规律)

    https://codeforces.com/contest/1407/problem/C 题意:交互题,每次最多询问i,j的pimodpj的值,问最后这个长度为n的排列是什么. 首先考虑到题目给的最 ...

  5. Benelux Algorithm Programming Contest 2019 G. Gluttonous Goop 思维规律题

    我们模拟后发现: 当病菌都连在一起时: 形成一个多边形,我们把他填补可以得到一个最小矩形. 把这个多边形它感染一次后:又得到一个多边形,把新的多边形填补得到新的矩形,发现:两个矩形内的未被感染的数量都 ...

  6. C. Numbers on Whiteboard(思维+规律)

    https://codeforces.com/contest/1430/problem/C 思路:本来以为最后变的值只会是原来的n/2+1或者n/2之类的.推了几个例子发现每次都有办法构造到2. 怎么 ...

  7. 计算机思维与逻辑思维的区别,逻辑(思维的规律和规则)_百度百科

    [luó ji] 逻辑 (思维的规律和规则) 语音 编辑 锁定 讨论 上传视频 逻辑(logic)是一个外来词语音译,指的是思维的规律和规则. 狭义上逻辑既指思维的规律,也指研究思维规律的学科即逻辑学 ...

  8. 逻辑指的是思维的规律和规则,是对思维过程的抽象。

    作者:知乎用户 链接:https://www.zhihu.com/question/19573597/answer/108777178 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  9. 钱老论逻辑、思维科学、智能机(一)

    来源:人机与认知实验室 1982年4月17日 致何新 中国社会科学院近代史研究所文化史研究室 何新同志: 四月五日来信和尊作均收到.我对哲学和逻辑学都是外行,有时想想这方面的问题,也只是业余爱好而已. ...

最新文章

  1. 【实用】一组原创原生样式的基础控件、UI组件样式(偏向移动端H5页面的样式)
  2. python【数据结构与算法】判断两棵树是否相等
  3. 多线程系列之学习多线程下载的基本原理和基本用法(1)
  4. 原生php开发 url,wordpress运用PHP原生代码获取三级分类及URL
  5. android新年祝福代码,讯飞输入法发布Android新春版 Biu一下敲出美好祝愿!
  6. Compound Words UVA - 10391(c++用法中substr函数用法+map实现)
  7. ElementUI + express实现头像上传及后台图片保存
  8. 详解C#防访问修饰符:public,private,protected,internal
  9. 我的世界服务器的交易系统,我的世界村民交易系统详解_我的世界交易系统介绍_牛游戏网...
  10. 很久之前写的【成绩管理系统】的数据库
  11. package ‘catkin‘ depends on non-existent package ‘python3-catkin-pkg‘
  12. TreeLSTM Sentiment Classification
  13. 单片机控制IIC协议EEPROM芯片24C512之模块化编程(持续更新中)
  14. 签名验签服务器的作用,签名验签服务器
  15. 手机计算机无法使用,用数据线把手机连接电脑,电脑无法识别,怎么回事?
  16. 公众号网站——微信登录
  17. 心理学统治世界(1)——股民的圣经
  18. 怎样把ogg格式转换mp3
  19. 第十一次ScrumMeeting博客
  20. C++异常 和 SEH异常 的一点小结

热门文章

  1. oracle的into的含义,请问在oracle 中select into是什么意思?
  2. mongoDB分页的两种方法
  3. Spring 架构图
  4. swift - xcode10 - 点击事件交互BUG - (手势和button的addTarget方法)
  5. codeforces 1027 B - Numbers on the Chessboard(规律)
  6. cdlinux miniwdep 配置无线网卡
  7. js鼠标按键事件和键盘按键事件用法实例汇总
  8. Qt Qwdget 汽车仪表知识点拆解4 另类进度条实现
  9. Centos常用快捷键
  10. Arcgis for JS扩展GraphicLayer实现区域对象的聚类统计与展示