推完一波式子之后发现是个矩阵23333.

其实只要发现是矩阵之后就是个水题了。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int tp;
struct node{
double a[65][65]; inline void clear(){
for(int i=0;i<65;i++)
for(int j=0;j<65;j++) a[i][j]=0;
} node operator *(const node &u)const{
node r;
r.clear(); for(int k=1;k<=tp;k++)
for(int i=1;i<=tp;i++)
for(int j=1;j<=tp;j++) r.a[i][j]+=a[i][k]*u.a[k][j];
return r;
}
}x,ans;
int n,m,T;
double P,SIN,COS; inline void build(){
x.clear();
for(int i=1;i<=m;i++){
x.a[i][i]=COS,x.a[i][i+m]=-SIN;
x.a[i+m][i]=SIN,x.a[i+m][i+m]=COS;
if(i>1){
x.a[i-1][i+m]=COS;
x.a[i+m-1][i+m]=SIN;
}
}
} inline double solve(){
ans.clear();
for(int i=1;i<=tp;i++) ans.a[i][i]=1.00;
for(;n;n>>=1,x=x*x) if(n&1) ans=ans*x;
return ans.a[m+1][m];
} int main(){
// freopen("sine.in","r",stdin);
// freopen("sine.out","w",stdout); scanf("%d",&T);
while(T--){
scanf("%d%d%lf",&m,&n,&P),tp=m<<1;
SIN=sin(P),COS=cos(P),build();
printf("%lf\n",solve());
} return 0;
}

  

某考试 T3 sine的更多相关文章

  1. 2018-8-10考试 T3. 朝暮(akekure)

    题目大意:有$n$个点和$m$条边的图($n - 1 \leq m \leq n + 5$),每个点要么黑要么白,两个黑点不可以相邻,问方案数 题解:可以发现当图为一棵树的时候只需要一个树形$DP$ ...

  2. 考试T3麻将

    这题就是一个简单的暴力,但考试的时候不知道脑子在想什么,什么都没打出来,也许是我想的太多了... 这道题对于不会打麻将的人来说还是有点难理解规则的,我没说过我会打麻将,这里是题目链接. 20分思路,利 ...

  3. 2019.2.25考试T3, 离线+线段树

    \(\color{#0066ff}{题解}\) #include<bits/stdc++.h> #define LL long long LL in() { char ch; LL x = ...

  4. 2019.2.14 考试T3 交互题

    \(\color{#0066ff}{ 题目描述 }\) 由于机房被成功拯救了,花_Q很高兴,花_Q生成了一个 0 到 N - 1 的排列(排列的下标从 0 到 N - 1 ).保证排列中 0 在 N ...

  5. 某考试 T3 C

    找不着原题了. 原题大概就是给你一条直线上n个点需要被覆盖的最小次数和m条需要花费1的线段的左右端点和1条[1,n]的每次花费为t的大线段. 问最小花费使得所有点的覆盖数都达到最小覆盖数. 感觉这个函 ...

  6. 某考试 T3 Try to find out the wrong in the test

    Discription Hint: 对于 100% 的数据, n<=10^6.

  7. 某考试 T3 bitboard

                    bitboardDiscription    天才发明家小K 制造了一块比特板.板子上有2^n个比特元,编号为0 ∼ 2^n−1.每个比特元

  8. 16.1113 模拟考试T3

    城堡[问题描述]给定一张N个点M条边的无向连通图,每条边有边权.我们需要从M条边中选出N − 1条, 构成一棵树. 记原图中从 1 号点到每个节点的最短路径长度为?Di ,树中从 1 号点到每个节点的 ...

  9. 题解【2.23考试T3】val

    3. val[题目描述] 这是一道传统题,源代码的文件名为 val.cpp/c/pas. 有一个值初始为 0,接下来 n 次你可以令其在之前基础上+2 或+1 或-1.你需要保证,这个值在整个过程中达 ...

随机推荐

  1. python基本操作(四)

    与用户交互 为什么交互? 计算机取代人类,解放劳动力 如何交互 print('-'*100) input('请输入你的姓名:') print(""100) Python2和Pyth ...

  2. json.dumps ensure_ascii 方法

    在使用json.dumps时要注意一个问题   import json print (json.dumps('中国')) "\u4e2d\u56fd"   输出的会是 '中国' 中 ...

  3. python-matplotlib-lec1

    接演前文. 设置属性的方法: 使用对象的set_*方法,单独设置每个属性:或使用plt.setp同时设置多个属性 # -*- coding: utf-8 -*- import numpy as np ...

  4. LeetCode(283)Move Zeroes

    题目 Given an array nums, write a function to move all 0's to the end of it while maintaining the rela ...

  5. LSTM 应用于股票市场

    https://zhuanlan.zhihu.com/p/27112144 1.LSTM对于非平稳数据的预测效果没有平稳数据好 2.神经网络的过拟合:在训练神经网络过程中,“过拟合”是一项尽量要避免的 ...

  6. 大数据学习——actor编程

    1 概念 Scala中的Actor能够实现并行编程的强大功能,它是基于事件模型的并发机制,Scala是运用消息(message)的发送.接收来实现多线程的.使用Scala能够更容易地实现多线程应用的开 ...

  7. Linux安装Scala

    下载Scala地址http://downloads.typesafe.com/scala/2.10.6/scala-2.10.6.tgz然后解压Scala到指定目录 tar -zxvf scala-2 ...

  8. day05_01 鸡汤+内容回顾

    推荐电影: 1.被解救的姜戈 2.华尔街之狼 3.阿甘正传 4.辛德勒的名单 5.肖申克的救赎 6.上帝之城 7.焦土之城 8.绝美之城 打印多行 msg = "hello 1 hello ...

  9. pycharm配置 自动运行指定脚本

    配置:RUN -Debug Configuration Script: 脚本的地址 Script Parameters: 脚本的参数 Interpreter: python解释器

  10. 【Luogu】P3211XOR和路径(高斯消元)

    题目链接 唉我个ZZ…… 首先考虑到异或是可以每一位分开算的 好的以后再碰见位运算题我一定先往按位开车上想 然后设f[i]为从i点出发到终点是1的概率 高斯消元解方程组即可. #include< ...