上次说我的写法low的人的AT号在这里!!(

我又来提供 low 算法了。


从 D 开始。


T4

我们把 \(\text{A}\) 看成 \(1\),把 \(\text{B}\) 看成 \(2\),把 \(\text{C}\) 看成 \(3\)。

那么就可以想到状压,然后把每一行和每一列的情况状态即可。

#include<bits/stdc++.h>
using namespace std; const int maxn = 6; int row[maxn],col[maxn];
string ans[maxn];
int n;
string r,c;
int tot = 0;
void dfs(int x,int y)
{
if(x == n)
{
if(tot == 3 * n)
{
cout << "Yes\n";
for(int i = 0;i < n;i++)
{
for(int j = 0;j < n;j++)
{
cout << ans[i][j];
}
cout << '\n';
}
exit(0);//杀死程序
}
return ;
}
if(y == n)
{
dfs(x + 1,0);
return ;
}
dfs(x,y + 1);//填.
for(int i = 0;i < 3;i++)
{
if(row[x] == 0 && i + 'A' != r[x])
{
continue;
}
if(col[y] == 0 && i + 'A' != c[y])
{
continue;
}//这样可以保证题目所说的2,3条件
if(row[x] >> i & 1)
{
continue;
}
if(col[y] >> i & 1)
{
continue;
}//不可以填的情况
ans[x][y] = 'A' + i;
row[x] ^= 1 << i;
col[y] ^= 1 << i;
tot += 1;
dfs(x,y + 1);
ans[x][y] = '.';
row[x] ^= 1 << i;
col[y] ^= 1 << i;
tot -= 1;//回溯
}
} int main()
{
cin >> n >> r >> c;
for(int i = 0;i < n;i++)
{
for(int j = 0;j < n;j++)
{
ans[i][j] = '.';
}
}
dfs(0,0);
cout << "No";
return 0;
}

\(\text{tot}\) 指的是总共有多少个数。

E

不难。

其实就是每一个数取到的概率乘上每一个数的值即可。

设取到 \(a_i\) 的概率为 \(p_i\),则有 \(p_i = \dfrac{1}{n} \sum^{i-1}_{j=0} p_j\)。

为什么呢?

因为 \(\dfrac{1}{n} p_j\) 表示 \(x=j\) 时骰子显示 \(i\) 的概率。

所以就可以在 \(O(n)\) 的时间内求出来。

#include<bits/stdc++.h>
#define int long long
using namespace std; const int mod = 998244353; int qpow(int a,int b)
{
int res = 1;
while(b)
{
if(b & 1)
{
res = res * a % mod;
}
a = a * a % mod;
b >>= 1;
}
return res;
} int n; signed main()
{
cin >> n;
int ans = 0,p = qpow(n,mod - 2);
for(int i = 1;i <= n;i++)
{
int a;
cin >> a;
ans = (p * a % mod + ans) % mod;
p = (p + p * qpow(n,mod - 2) % mod) % mod;
}
cout << ans << '\n';
return 0;
}

随机推荐

  1. 02_Vue模板语法

    Vue模板语法有2大类:         1.插值语法:           功能:用于解析标签体内容.           写法:{{xxx}},xxx是js的表达式,且可以直接读取到data中的所 ...

  2. 力扣237(java&python)-删除链表中的节点(中等)

    题目: 有一个单链表的 head,我们想删除它其中的一个节点 node. 给你一个需要删除的节点 node .你将 无法访问 第一个节点  head. 链表的所有值都是 唯一的,并且保证给定的节点 n ...

  3. EasyNLP中文文图生成模型带你秒变艺术家

    简介: 我们在EasyNLP框架中集成了中文文图生成功能,同时开放了模型的Checkpoint. 导读 宣物莫大于言,存形莫善于画. --[晋]陆机 多模态数据(文本.图像.声音)是人类认识.理解和表 ...

  4. K8s 网关选型初判:Nginx 还是 Envoy?

    简介: 本文将从性能和成本.可靠性.安全性 3 方面,对两大开源实现进行比对,希望对正在做 K8s 网关选型的企业有所借鉴. 作者:张添翼(澄潭) 为了避免混淆,我们先对一些关键定义做一些厘清: 传统 ...

  5. 流批一体生产应用!Bigo 实时计算平台建设实践

    简介: 本文由 Bigo 计算平台负责人徐帅分享,主要介绍 Bigo 实时计算平台建设实践的介绍 本文由 Bigo 计算平台负责人徐帅分享,主要介绍 Bigo 实时计算平台建设实践的介绍.内容包括: ...

  6. 探秘RocketMQ源码——Series1:Producer视角看事务消息

    简介: 探秘RocketMQ源码--Series1:Producer视角看事务消息 1. 前言 Apache RocketMQ作为广为人知的开源消息中间件,诞生于阿里巴巴,于2016年捐赠给了Apac ...

  7. k8s问题解决

    问题1: 问题描述:k8s中Terminating状态pod不能删除 [root@master ~]# kubectl get pods -n ms NAME READY STATUS RESTART ...

  8. Docker的基本命令

    1.docker使用的优点 1.更快速的交付和部署 对于开发和运维人员来说,最希望的是保持所有环境一致,这样不会导致,开发在自己的环境里程序运行正常而运维跑的服务器环境里就不正常:对于运维来说,可以使 ...

  9. 【技术流吃瓜】python可视化大屏舆情分析“张天爱“事件微博评论

    目录 一.事件背景 二.微热点分析 二.自开发Python舆情分析 2.1 Python爬虫 2.2 可视化大屏 2.2.1 大标题 2.2.2 词云图 2.2.3 条形图 2.2.4 饼图(玫瑰图) ...

  10. 传入一个List集合,返回分页好的数据

    传入一个List集合,返回分页好的数据. 定义分页信息类: package com.cn.common; import java.util.List; public class CommonPage& ...