A题 :

如见青山

题意:给出n,mn,mn,m,求(n!)!(n!)!%m(n!)!

做法:如果n!≥mn!\geq mn!≥m 则直接输出000,不然就正常运算。

代码如下:

/*
coder:sunshine
school:njupt
*/
#include <bits/stdc++.h>
#define endl '\n' //交互题删掉
#define x first
#define y second
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;
const int mod = 1e9 + 7;const int N = 1e6 + 10;
ll t, m, z, now;
ll d[N];void solve()
{int n;cin >> n;if (n >= z){cout<<0<<endl;}else{cout << d[d[n]] % m << endl;}
}int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);cin >> t >> m;d[0] = 1;now = 1;z=0;for (int i = 1; i <= N; i++){d[i] = d[i - 1] * i % m;now *= i;if (now >= m && !z){z = i;}}while (t--){solve();}return 0;
}

B题:

惊鹊

题目做法:构造题,将Qp1Q_{p1}Qp1​赋成1,然后正常排列就可以了。

代码如下:

/*
coder:sunshine
school:njupt
*/
#include <bits/stdc++.h>
using namespace std;
#define endl '\n' //交互题删掉
#define x first
#define y second
typedef long long ll;
typedef pair<int, int> PII;
const int mod = 1e9 + 7;const int N=5e5+10;
int a[N],b[N];void solve()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];b[i]=0;}int c=a[1];b[c]=1;int cnt=1;for(int i=1;i<=n;i++){if(b[i]) continue;cnt++;b[i]=cnt;}for(int i=1;i<=n;i++){cout<<b[i]<<" ";}cout<<endl;
}int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int t;cin>>t;while(t--){solve();}return 0;
}

D题:

补天裂

做法:可以发现不管怎么操作,0和1的数量都不会变,所以求字典序最小,就是贪心的把1放到最后,前面全是0。

代码如下:

/*
coder:sunshine
school:njupt
*/
#include <bits/stdc++.h>
using namespace std;
#define endl '\n' //交互题删掉
#define x first
#define y second
typedef long long ll;
typedef pair<int, int> PII;
const int mod = 1e9 + 7;const int N = 5e5 + 10;
int a[N], c[N];
int t, n;int b(int x)
{return (1 << (x - 1));
}void solve()
{cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];c[i] = 0;}for (int i = 1; i <= 30; i++){int k = 0;for (int j = 1; j <= n; j++){if (a[j] & b(i))k++;}for (int j = 1; j <= k; j++){c[n + 1 - j] |= b(i);}}for (int i = 1; i <= n; i++){cout << c[i] << " ";}cout << endl;
}int main()
{ios::sync_with_stdio(false);cin.tie(nullptr);cin >> t;while (t--){solve();}return 0;
}

牛客练习赛107 A~D除C相关推荐

  1. 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...

  2. 解题报告(一)C、(牛客练习赛41 F)简单数学题(数论 + FWT)(3.5)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  3. 牛客练习赛34 E little w and Digital Root(数位dp)

    title: 牛客练习赛34 E little w and Digital Root(数位dp) date: 2018-12-17 22:38:37 tags: 数位dp categories:ACM ...

  4. 牛客练习赛34 - C little w and Segment Coverage(思维、树状数组)

    title: 牛客练习赛34 - C little w and Segment Coverage(思维.树状数组) date: 2018-12-15 16:36:55 tags: [树状数组,思维] ...

  5. 牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)

    牛客练习赛52 C 烹饪 链接:https://ac.nowcoder.com/acm/contest/1084/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 327 ...

  6. 牛客练习赛73 D 离别(线段树+右端点排序离线查询)

    牛客练习赛73 D 离别 思路: 对于每一个固定的右端点i,我们都找到一个区间(l,r)使得区间中的点为左端点时 里面最大的的种数为k. 这个可以用队列或者vector来维护. 然后我们对于q个查询, ...

  7. 牛客练习赛75 D 减数游戏(队列优化(需要取模的)堆)

    牛客练习赛75 D 减数游戏 思路:写一下式子可以发每次选择最小的两个数进行操作,最后得到的答案会是最大的,那我们可以将它放进一个最小堆中来维护,但是里面的数是需要取模的,当它取模的时候,将会变小.那 ...

  8. 妄想集合(牛客练习赛90)

    妄想集合(牛客练习赛90) 题意: 开始有 n 个可重集合,开始时每一个集合中都有一个数,有 m 个操作. Quant l r x\text{Quant l r x}Quant l r x:往编号在 ...

  9. 踩不出足迹(牛客练习赛88 )

    踩不出足迹(牛客练习赛88 ) 题意: 长度为n的数组a,每个数是一个k位二进制 定义一下操作: 令第一次得到的结果为 a1a_1a1​.你需要从第二个数开始,每次可以选择与上一次得到的结果异或或者同 ...

最新文章

  1. IOS6.0 应用内直接下载程序 不需跳转AppStore
  2. 导师:顶会论文3天都复现不出来?你退学吧!
  3. 数字图像处理:附录-程序实例、参考文献、标准图片集合
  4. mysql 实验论证 innodb表级锁与行级锁
  5. 开源之夏 | 阿里开源近百任务上线
  6. 【原】关于ActiveX插件小项目总结
  7. 16行代码AC_Keeping Rabbits Gym - 102394K(附超时原因)
  8. 金三银四大厂面经总结,mysql创建视图的sql语句
  9. Linux入门之常用命令(10)软连接 硬链接
  10. 清华学计算机的住在哪个公寓,清华大学考研之住宿篇
  11. Oracle OCP和MySQL OCP认证考试内容有哪些?
  12. BME280测湿度温度
  13. 如何显示 word 左侧目录大纲
  14. 为了寻找美,我决定对美女图片进行图像边缘化处理
  15. 计算机启动太慢的原因是,电脑启动慢的原因分析
  16. 回答薛定谔问题: 生命是什么?自由能公式
  17. DL之RefineNet:RefineNet和Light-Weight RefineNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  18. 弘辽科技:淘宝商品标题怎么写?如何选词?
  19. 交叉编译-16:live555交叉编译(Windows和君正平台)
  20. 关于notifydatasetchange的一些理解

热门文章

  1. 翻译 | Placing Search in Context The Concept Revisited
  2. ios修改apn的插件_iPhone手机APN修改方案
  3. 微信小程序判断手机号码格式正确与否的代码
  4. SAP中会计凭证清账关系
  5. WSL下源码阅读工具LXR(Linux Cross-Referencer)的配置
  6. C# WinForm GUI之WinForm基础
  7. 请注意,java中没有引用传递
  8. Jett+Spring MVC实现Excel导出
  9. Office PPT保持提示无法保存Gill Sans 等非TrueType字体
  10. 数字信号处理——窗函数