SDNU-多校训练赛2-[ABF]
问题虫洞——A:A - Just Skip The Problem HDU - 6600
黑洞内窥:
给出一个数n, 而你也将得到一个连你自己也不到的数X,
然后你可以用这个数X去和一个Y进行与运算,而系统也会回答你与运算的结果是不是等于Y,
(其中 0<= X, Y <= 2^n-1)
问,你一共有多少种方法可以在和Y与运算后知道你手上的数X。。
思维光年:
首先,我们可以用X去 和1&, 即X&1,依次判断X的二进制的每一位是0还是1,
结果显然是与不同的Y进行了n次与操作(这里的n是二进制位数)
那么到底有多少种方法呢? 因为你用X&的n次操作中是无序的,总的结果数就应该是Ann
即 sum = 排列组合数Ann = n!
还有一点就是,要mod1e6+3,当n>=1e6+3的时候,n!中就会有1e6+3的因子,所以结果就是0
ACcode:
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream>
using namespace std;typedef long long ll;
const int p = 1e6 + 3;
ll n;
ll a[p + 10];int main()
{a[0] = 1;for(int i = 1;i <= p; ++i)a[i] = (a[i - 1] * i) % p;while(~scanf("%lld",&n)){if(n == 0 || n >= p) printf("0\n");else printf("%lld\n",a[n]);}return 0;
}
问题虫洞——B:B - Everything Is Generated In Equal Probability HDU - 6595
思维光年:
虽然知道肯定会有公式,但是还是没有做出来。。。。。
那么这个神奇的公式就是:ans = (n*n - 1)/ 9
推荐两篇博客吧,证明都给的很详细,我自己再琢磨琢磨吧。。。
推荐博客一:Everything Is Generated In Equal Probability
推荐博客二:HDU 6595 Everything Is Generated In Equal Probability(递推求期望|找规律)
ACcode:
//#include<bits/stdc++.h>
//std::ios::sync_with_stdio(false);
#include <stdio.h>
#include <iostream>
#include<algorithm>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <string>
#include <math.h>
#include <vector>
#include <cstring>
#include <stdlib.h>
#include <string.h>
using namespace std;
typedef long long ll;
#define MAXN 3000005
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
const ll mod = 998244353;
#define mem(a, b) memset(a, b, sizeof(a))//ll inv(ll b){ return b == 1? 1: (mod-mod/b)*inv(mod%b)%mod;}
ll ksm(ll a, ll b)
{ll ans = 1;while(b){if(b&1)ans = ans*a%mod;a = a*a%mod;b >>= 1;}return ans;
}
int main()
{ll n;while(cin >> n){cout << ((n*n-1)*ksm(9, mod-2))%mod << '\n';}return 0;
}
问题虫洞——F:F - Fansblog HDU - 6608
黑洞内窥:
多组样例t,
每组样例给你一个质数 p (1e9 <= p <=1e14),然后你将得到p的前一个质数Q,求(Q!% p)
思维光年:
咱也不知道,咱也不敢问,,,用到了我不知道的威尔逊定理,,,,
详细请见该篇博客:F - Fansblog HDU - 6608(威尔逊定理推导)
ACcode
//#include<bits/stdc++.h>
//std::ios::sync_with_stdio(false);
#include <stdio.h>
#include <iostream>
#include<algorithm>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <string>
#include <math.h>
#include <vector>
#include <cstring>
#include <stdlib.h>
#include <string.h>
using namespace std;
typedef long long ll;
#define MAXN 3000005
#define INF 0x3f3f3f3f//将近ll类型最大数的一半,而且乘2不会爆ll
//const ll mod = 998244353;
#define mem(a, b) memset(a, b, sizeof(a))
ll mod;ll mul(ll a, ll b)//快速乘
{ll res = 0;while(b){if(b&1)res = (res+a)%mod;a = (a+a)%mod;b >>= 1;}return res%mod;
}ll ksm(ll a, ll b)
{ll ans = 1;while(b){if(b&1)ans = mul(ans, a);a = mul(a, a);b >>= 1;}return ans;
}bool prime(ll x)
{for(ll i=2; i*i<=x; ++i)if(x%i == 0) return 0;return 1;
}int main()
{ll t, n;cin >> t;while(t--){scanf("%lld", &n);mod = n;ll q = n-1;while(!prime(q)) q--;ll ans = n-1;for(ll i=q+1; i<=n-1; ++i)ans = mul(ans, ksm(i, mod-2));cout << ans << '\n';}return 0;
}
SDNU-多校训练赛2-[ABF]相关推荐
- HDU6578 2019HDU多校训练赛第一场 1001 (dp)
HDU6578 2019HDU多校训练赛第一场 1001 (dp) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6578 题意: 你有n个空需要去填,有 ...
- 【2019杭电多校训练赛】HDU6681 / 1002-Rikka with Cake 题解(扫描线)
[2019杭电多校训练赛]HDU6681 / 1002-Rikka with Cake 题解 题意 思路 代码 题目来自于:HDU6681 Rikka with Cake 题意 题目的大意是给定你一个 ...
- 2018牛客网暑假ACM多校训练赛(第二场)E tree 动态规划
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round2-E.html 题目传送门 - 2018牛客多校赛第二场 E ...
- 2018牛客网暑假ACM多校训练赛(第三场)I Expected Size of Random Convex Hull 计算几何,凸包,其他...
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round3-I.html 题目传送门 - 2018牛客多校赛第三场 I ...
- 2013多校训练赛第三场 总结
HDU 4621~4631 今天的多校好变态,是IOI冠军出的题,把我们虐的半死了. 简单讲一下今天的情况,今天就只做了两道水题,算是签了个到,然后就卡1011(HDU 4631)一个下午了.其实感觉 ...
- 北方大学 ACM 多校训练赛 第十五场 欢度6.18
把式子变成a[i]+1 = p(a[i-1]+1)+q[a[i-2]+1],矩阵快速幂搞定.复杂度o(logn) #include <iostream> #include <cstd ...
- 北方大学 ACM 多校训练赛 第十五场 买花
显然是一个比较简单的离线查询问题. 本质上是对区间求集合的问题,按照区间右端点从小到大对区间进行排序,然后用一个指针curr表示当前正在考虑区间的最右侧位置,针对排好序区间[tarl,tarr],先查 ...
- 北方大学 ACM 多校训练赛 第十五场 数字游戏
本题的意思是,给你1/2,1/2,1,2,4--2^(k-1) ,让你在左边的数列中添加+号或者-号,使得最终的答案为n即可. 思路: 我们知道上面这些数直接如果全部都填+号的话,那么最终得到的数为2 ...
- 北方大学 ACM 多校训练赛 第十五场 蜘蛛牌A
题目描述 XCX最近迷上了玩蜘蛛牌.蜘蛛牌是windowsxp操作系统自带的一款纸牌游戏,游戏规则是这样的:只能将牌拖到比它大一的牌上面(A最小,K最大),如果拖动的牌上有按顺序排好的牌时,那么这些牌 ...
- 2018牛客网暑假ACM多校训练赛(第六场)I Team Rocket 线段树
原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round6-I.html 题目传送门 - https://www.no ...
最新文章
- PHP 7.3声称速度比PHP 5快3倍还多,值得更新了!
- SpringMVC学习10之AJAX初体验和了解
- gbdt如何处理多分类问题(multiclass,cart)
- Unity 3D观察者设计模式-C#委托和事件的运用
- Ubuntu20.04开机界面(boot animation)改成Windows95
- P7115-[NOIP2020]移球游戏【构造】
- qt 串口 环形缓存_qt linux串口 缓冲区多大
- java和C++有什么异同
- Mqtt协议IOS端移植3
- 【VB.NET】测验题目Quiz1
- 科学数字_Excel分列时拒绝让超过15位的数字变成科学计数法
- Flutter布局锦囊---带彩条的文本字段
- 实验代做 行人识别_《行人跨模态重识别 | 双向限制的排序损失》
- Linux环境下虚拟化之KVM常用命令
- 谷歌离线地图开发教程
- 利用图神经网络进行社交机器人检测
- MaterialDesign+MovePicImageView实现漂亮的登陆界面
- 对本人所发资源“金山词霸2010牛津旗舰版安装及故障终极解决方案”的说明
- GDOI2016模拟8.19数学
- 晶体生长计算机实验报告,食盐晶体生长实验报告
热门文章
- ElasticSearch【从入门到服务器部署项目案例】详细教程
- WordPress修改默认邮箱、用户名(图解)
- 微信迎来最新改版,做这几款微信插件提高用户体验!
- butter中文意思_butterfly是什么意思_butterfly的翻译_音标_读音_用法_例句_爱词霸在线词典...
- 利用dlib81人脸关键点提取额头脸颊ROI
- ImageJ工具的使用
- 充电宝不能托运只能随身带
- 域名故事:史上超贵的域名成交记录
- 神经网络系统理论与实践,神经网络系统理论基础
- XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习总结。