A

  1. #include <bits/stdc++.h>
  2. #define PI acos(-1.0)
  3. #define mem(a,b) memset((a),b,sizeof(a))
  4. #define TS printf("!!!\n")
  5. #define pb push_back
  6. #define inf 1e9
  7. //std::ios::sync_with_stdio(false);
  8. using namespace std;
  9. //priority_queue<int,vector<int>,greater<int>> que; get min
  10. const double eps = 1.0e-8;
  11. typedef pair<int, int> pairint;
  12. typedef long long ll;
  13. typedef unsigned long long ull;
  14. //const int maxn = 3e5 + 10;
  15. const int maxm = ;
  16. const int turn[][] = {{, }, { -, }, {, }, {, -}};
  17. //priority_queue<int, vector<int>, less<int>> que;
  18. //next_permutation
  19. ll mod = 3e7;
  20. int weight;
  21. int from,to;
  22. vector<pair<int,int> > place[];
  23. int main()
  24. {
  25. int anser=;
  26. int n;
  27. cin >> n;
  28. for(int i=; i<=n; i++)
  29. {
  30. if(n%i==)
  31. anser++;
  32. }
  33. cout<<anser<<endl;
  34. }

B

  1. #include <bits/stdc++.h>
  2. #define PI acos(-1.0)
  3. #define mem(a,b) memset((a),b,sizeof(a))
  4. #define TS printf("!!!\n")
  5. #define pb push_back
  6. #define inf 1e9
  7. //std::ios::sync_with_stdio(false);
  8. using namespace std;
  9. //priority_queue<int,vector<int>,greater<int>> que; get min
  10. const double eps = 1.0e-8;
  11. typedef pair<int, int> pairint;
  12. typedef long long ll;
  13. typedef unsigned long long ull;
  14. //const int maxn = 3e5 + 10;
  15. const int maxm = ;
  16. const int turn[][] = {{, }, { -, }, {, }, {, -}};
  17. //priority_queue<int, vector<int>, less<int>> que;
  18. //next_permutation
  19. ll mod = 3e7;
  20. int num[];
  21. int check(int x,int y)
  22. {
  23. if(x==y)
  24. return ;
  25. if(x>y)
  26. return ;
  27. return ;
  28. }
  29. int main()
  30. {
  31. int n;
  32. int anser=;
  33. int nowx,nowy;
  34. nowx=nowy=;
  35. cin >> n;
  36. string a;
  37. cin >> a;
  38. int now=;
  39. int belong=;
  40. for(int i=; i<n; i++)
  41. {
  42. if(a[i]=='U')
  43. nowy++;
  44. else
  45. nowx++;
  46. belong=check(nowx,nowy);
  47. num[i]=belong;
  48. if(i>=)
  49. if(num[i]+num[i-]==)
  50. anser++;
  51. // cout<<i<<" "<<nowx<<" "<<nowy<<endl;
  52. // cout<<anser<<endl;
  53. }
  54. cout<<anser<<endl;
  55. }

C

简单几何 题意题

给你一个圆和一个点,让你在给定圆内画一个圆,使得答案圆不能包含给定点,而且使得给定圆没有被答案圆覆盖的面积最小。输出答案圆的圆心和半径即可。

  1. #include <bits/stdc++.h>
  2. #define PI acos(-1.0)
  3. #define mem(a,b) memset((a),b,sizeof(a))
  4. #define TS printf("!!!\n")
  5. #define pb push_back
  6. #define inf 1e9
  7. //std::ios::sync_with_stdio(false);
  8. using namespace std;
  9. //priority_queue<int,vector<int>,greater<int>> que; get min
  10. const double eps = 1.0e-8;
  11. typedef pair<int, int> pairint;
  12. typedef long long ll;
  13. typedef unsigned long long ull;
  14. //const int maxn = 3e5 + 10;
  15. const int maxm = ;
  16. const int turn[][] = {{, }, { -, }, {, }, {, -}};
  17. //priority_queue<int, vector<int>, less<int>> que;
  18. //next_permutation
  19. ll mod = 3e7;
  20. int num[];
  21. int main()
  22. {
  23. double R,x1,x2,y1,y2;
  24. cin >>R >> x1 >> y1 >> x2 >> y2;
  25. double xap,yap,r;
  26. double len=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2);
  27. double dis1=sqrt(len);
  28. if(len>=R*R)
  29. {
  30. printf("%.7f %.7f %lf",x1,y1,R);
  31. return ;
  32. }
  33. if(x1==x2&&y1==y2)
  34. {
  35. printf("%.7f %.7f %.7f",x1+R/,y1,R/);
  36. return ;
  37. }
  38. r=(R+dis1)/2.0;
  39. xap=x2+(x1-x2)*(r/dis1);
  40. yap=y2+(y1-y2)*(r/dis1);
  41. printf("%.7f %.7f %lf",xap,yap,r);
  42. }

D

给你两个长为N包含0的数字串 0可以变化为1-k的任何数

要求你求出第一个串比第二个大的可能性(一个分数)模上1e9+7

总共的可能性数量很好想 是K的0数量次方 再把分数转化为求逆元就变为:比原串大的方案数乘以 总方案数对MOD的逆元 模MOD

dp[i][0]表示到第i个两个字典序相等的方案数 dp[i][1]表示到第i个第一个比第二个字典序大的方案数

dp[i][1]可以由dp[i-1][0]与dp[i-1][1]转换而来 而 dp[i][0]只能由dp[i-1][0]转换而来

所以分类讨论

1.a=ai b=bi时

相等时

dp[i][0]=dp[i-1][0]

dp[i][1]=dp[i-1][1]

前大于后时

dp[i][1]=dp[i-1][0]+dp[i-1][1]

dp[i][0]=0

后大于前时

dp[i][1]=dp[i][0]=0

2.a=0 b=bi时

dp[i][0]=dp[i-1][0]

dp[i][1]=dp[i-1][1]*k+dp[i-1][0]*(k-bi)

3.a=ai b=0时

dp[i][0]=dp[i-1][0]

dp[i][1]=dp[i-1][1]*k+dp[i-1][0]*(b-1)

4.a=b=0

dp[i][0]=dp[i-1][0]*k

dp[i][1]=dp[i-1][1]*k*k+dp[i-1][0]*(k-1)*k/2

一直dp到n

  1. #include <bits/stdc++.h>
  2. #define PI acos(-1.0)
  3. #define mem(a,b) memset((a),b,sizeof(a))
  4. #define TS printf("!!!\n")
  5. #define pb push_back
  6. #define inf 1e9
  7. //std::ios::sync_with_stdio(false);
  8. using namespace std;
  9. //priority_queue<int,vector<int>,greater<int>> que; get min
  10. const double eps = 1.0e-8;
  11. typedef pair<int, int> pairint;
  12. typedef long long ll;
  13. typedef unsigned long long ull;
  14. const int turn[][] = {{, }, { -, }, {, }, {, -}};
  15. //priority_queue<int, vector<int>, less<int>> que;
  16. //next_permutation
  17. const int mod = 1e9+;
  18. int sum=;
  19. ll dp[][];
  20. int num[][];
  21. ll quickpow(ll x,ll n)
  22. {
  23. ll res=;
  24. while(n)
  25. {
  26. if(n&)res=res*x%mod;
  27. x=x*x%mod;
  28. n/=;
  29. }
  30. return res;
  31. }
  32. int main()
  33. {
  34. ll n,m;
  35. cin >> n >> m;
  36. for(int i=; i<=; i++)
  37. for(int j=; j<=n; j++)
  38. {
  39. scanf("%d",&num[i][j]);
  40. }
  41. mem(dp,);
  42. dp[][]=;
  43. for(int i=; i<=n; i++)
  44. {
  45. sum+=(num[][i]==);
  46. sum+=(num[][i]==);
  47. if(num[][i]&&num[][i])
  48. {
  49. if(num[][i]==num[][i])
  50. {
  51. dp[i][]=dp[i-][];
  52. dp[i][]=dp[i-][];
  53. }
  54. else if(num[][i]>num[][i])
  55. {
  56. dp[i][]=(dp[i-][]+dp[i-][])%mod;
  57. dp[i][]=;
  58. }
  59. else
  60. {
  61. dp[i][]=;
  62. dp[i][]=dp[i-][];
  63. }
  64. }
  65. else if(num[][i]==&&num[][i]==)
  66. {
  67. dp[i][]=dp[i-][]*m%mod;
  68. dp[i][]=((dp[i-][]*((m*m)%mod)%mod+dp[i-][]*((m-)*m/)%mod)%mod)%mod;
  69. }
  70. else if(num[][i]==)
  71. {
  72. dp[i][]=dp[i-][]%mod;
  73. dp[i][]=(dp[i-][]*m%mod+dp[i-][]*(m-num[][i])%mod)%mod;
  74. }
  75. else if(num[][i]==)
  76. {
  77. dp[i][]=dp[i-][]%mod;
  78. dp[i][]=(dp[i-][]*m%mod+dp[i-][]*(num[][i]-)%mod)%mod;
  79. }
  80. }
  81. ll anser=dp[n][]*quickpow(quickpow(m,sum),mod-)%mod;
  82. cout<<anser<<endl;
  83. }

Codeforces 935 简单几何求圆心 DP快速幂求与逆元的更多相关文章

  1. Codeforces Round #536 (Div. 2) F 矩阵快速幂 + bsgs(新坑) + exgcd(新坑) + 欧拉降幂

    https://codeforces.com/contest/1106/problem/F 题意 数列公式为\(f_i=(f^{b_1}_{i-1}*f^{b_2}_{i-2}*...*f^{b_k} ...

  2. 【bzoj4870】[Shoi2017]组合数问题 dp+快速幂/矩阵乘法

    题目描述 输入 第一行有四个整数 n, p, k, r,所有整数含义见问题描述. 1 ≤ n ≤ 10^9, 0 ≤ r < k ≤ 50, 2 ≤ p ≤ 2^30 − 1 输出 一行一个整数 ...

  3. codeforce 227E 矩阵快速幂求斐波那契+N个连续数求最大公约数+斐波那契数列的性质

    E. Anniversary time limit per test2 seconds memory limit per test256 megabytes inputstandard input o ...

  4. HDU4869:Turn the pokers(快速幂求逆元+组合数)

    题意: 给出n次翻转和m张牌,牌相同且一开始背面向上,输入n个数xi,表示xi张牌翻转,问最后得到的牌的情况的总数. 思路: 首先我们可以假设一开始牌背面状态为0,正面则为1,最后即是求ΣC(m,k) ...

  5. POJ-3070Fibonacci(矩阵快速幂求Fibonacci数列) uva 10689 Yet another Number Sequence【矩阵快速幂】

    典型的两道矩阵快速幂求斐波那契数列 POJ 那是 默认a=0,b=1 UVA 一般情况是 斐波那契f(n)=(n-1)次幂情况下的(ans.m[0][0] * b + ans.m[0][1] * a) ...

  6. 小白月赛13 小A的路径 (矩阵快速幂求距离为k的路径数)

    链接:https://ac.nowcoder.com/acm/contest/549/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...

  7. hdu 2065 "红色病毒"问题(快速幂求模)

    n=1  --> ans = 2 = 1*2 = 2^0(2^0+1) n=2  -->  ans = 6 = 2*3 = 2^1(2^1+1) n=3  -->  ans = 20 ...

  8. Product Oriented Recurrence(Codeforces Round #566 (Div. 2)E+矩阵快速幂+欧拉降幂)

    传送门 题目 \[ \begin{aligned} &f_n=c^{2*n-6}f_{n-1}f_{n-2}f_{n-3}&\\ \end{aligned} \] 思路 我们通过迭代发 ...

  9. hdu4686 简单的矩阵快速幂求前n项和

    HDU4686 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4686 题意:题目说的很清楚了,英语不好的猜也该猜懂了,就是求一个表达式的前n项和,矩阵 ...

随机推荐

  1. HBuilder使用逍遥Android模拟器

    Microvirt HBuilder使用逍遥Android模拟器 1.逍遥模拟器安装 地址: 点我下载 2.连接注意事项 a. 复制adb等文件 HBuilder安装目录中tools文件夹下的三个文件 ...

  2. git本地分支推送到远程分支

    1.创建的创建和初始化 创建git仓库可以在远端创建一个仓库, 然后check到本地,在本地的文件里创建工程文件,然后提交 也可以将本地现有的工程和远端的空仓库关联 本地创建了一个工程 iOSDemo ...

  3. Centos7系统备份与恢复教程

    原文地址:https://www.cnblogs.com/fang888/p/8473485.html Centos系统备份与恢复教程 tar: 特点 1.保留权限 2.适合备份整个目录 3.可以选择 ...

  4. Mysql 数据库锁表的原因和解决方法

    摘自: https://www.csdn.net/gather_2f/MtTaIgxsMTM5NC1ibG9n.html 锁表的原因:当多个连接(数据库连接)同时对一个表的数据进行更新操作,那么速度将 ...

  5. VC程序禁用提示框

    程序需要24小时不中断 如果错误提示了的话 runtime error 监控程序就不能重启 下面是网上找的 方便以后用到 http://blog.csdn.net/yuzhiyuxia/article ...

  6. 【后台管理系统】—— Ant Design Pro 项目爬坑(一)

    1.表单rule中可以分对象处理不同规则 <FormItem label="类型名称" {...formLayout}> { form.getFieldDecorato ...

  7. webpack前置知识2(JavaScript项目初始化)

    所有的JavaScript项目都是在终端输入npm init -y进行项目初始化,如果要自定义项目规则,去掉 -y 参数. vscode终端快捷键ctrl+` 初始化 运行上述命令后,项目内会新建一个 ...

  8. 一、Python环境的搭建

    1.python官方下载地址:https://www.python.org/:python现在有两个版本:python2.7.x和python3.x 2.安装:一路下一步,默认安装 3.配置环境变量: ...

  9. C# WinForm开发系列学习 地址 很详细

    http://www.cnblogs.com/peterzb/archive/2009/07/27/1531910.html

  10. fiddler之数据分析和查看(inspectors)-抓包

    在instpectors中主要是对请求和响应进行查看和分享,监听请求的响应内容.他有多个分页标签.界面分上下两部分,上面部分显示请求的相关信息:下面部分显示响应相关信息.简单说明常用的几个分页标签 一 ...