E. XOR Triangle 数位dp
题意:
求出0<a,b,c<=n的方案数,使得a^b、a^c、b^c满足三角不等式。
分析:
#include<bits/stdc++.h>
// cout<<fixed<<setprecision(8);
//#pragma GCC optimize(2)
#define ms(x,n) memset(x,n,sizeof x)
#define endl '\n'
#define pii pair<int,int>
#define M(a,b) make_pair(a,b)
#define fi first
#define se second
#define pb push_back
#define __builtin_popcount popcnt1//getcnt
#define db1(x) cerr<<#x<<"="<<(x)<<" "
#define db2(x) cerr<<#x<<"="<<(x)<<"\n"
#define int long long
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
ll _gcd(ll a, ll b) { return b > 0 ? _gcd(b, a % b) : a; }
int popcnt1(ll x) { int ans = 0;for (int j = 0;j <= 60;j++)if (x & (1ll << j)) ans++;return ans; }
template <typename T> inline void read(T& t) { int f = 0, c = getchar(); t = 0;while (!isdigit(c)) f |= c == '-', c = getchar();while (isdigit(c)) t = t * 10 + c - 48, c = getchar();if (f) t = -t; }
template <typename T> void print(T x) { if (x < 0) x = -x, putchar('-');if (x > 9) print(x / 10);putchar(x % 10 + 48); }
const double pi = acos(-1.0);
const double eps = 1e-7;//有时候精度可能不够
const int inf = 0x3f3f3f3f;
const ll Inf = 0x3f3f3f3f3f3f3f3f;
const int mod = 998244353;
const int N = 3e5+10;
int n, m, t, k;
int a[N];
int dp[N][8][8];
signed main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);string s;cin >> s;dp[0][0][0] = 1;for (int i = 0;i < s.size();i++) {for (int j = 0;j < 8;j++) {for (int k = 0;k < 8;k++) {dp[i][j][k] %= mod;if (dp[i][j][k]) {for (int l = 0;l < 8;l++) {bool fg = 1;for (int m = 0;m < 3;m++) {if ((k & (1 << m)) == 0 && (l & (1 << m)) && s[i] == '0') {fg = 0;break;}}if (!fg) continue;int j1 = j, k1 = k;for (int m = 0;m < 3;m++) {if (l == (1 << m) || ((l ^ (1 << m)) == 7)) {j1 |= (1 << m);}}for (int m = 0;m < 3;m++) {if (s[i] == '1' && ((l & (1 << m)) == 0)) {k1 |= (1 << m);}}dp[i + 1][j1][k1] += dp[i][j][k];}}}}}int ans = 0;for (int i = 0;i < 8;i++) {ans += dp[s.size()][7][i];}cout << ans % mod << endl;return 0;
}
E. XOR Triangle 数位dp相关推荐
- 2020中国大学生程序设计竞赛(CCPC) - 网络选拔赛----HDU--6899、Xor(数位dp)
题目链接 题面: 题意: 求解符合 x∈[0,a],y∈[0,b]x\in[0,a],y\in[0,b]x∈[0,a],y∈[0,b] 且 ∣x−y∣≤k|x-y|\le k∣x−y∣≤k 且 xxo ...
- HDU - 6899 Xor(数位dp)
题目链接:点击查看 题目大意:给出四个整数 A , B , K , W ,问满足下列条件的二元对的个数: x , y 是整数 x <= A , y <= B abs( x - y ) &l ...
- 2019长安大学ACM校赛网络同步赛 L XOR (规律,数位DP)
链接:https://ac.nowcoder.com/acm/contest/897/L 来源:牛客网 XOR 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...
- BZOJ 3329 Xorequ (数位DP、矩阵乘法)
BZOJ 3329 Xorequ (数位DP.矩阵乘法) 手动博客搬家: 本文发表于20181105 23:18:54, 原地址https://blog.csdn.net/suncongbo/arti ...
- FZU - 2042 The Mad Mathematician(数位dp)
题目链接:点击查看 题目大意:给出 A,B,C,D,EA,B,C,D,EA,B,C,D,E,求 sumsumsum 题目分析:数位dp,开五维维护一下状态即可,简单说一下 dpdpdp 的状态: dp ...
- 对数位dp的一些拙见
这不是一篇介绍数位dpdpdp的文章,只是我思考后的一些记录,怕以后就忘记了. 由于博主太菜不会组合数学,以下数位dpdpdp均采用记忆化搜索的方式. 首先最重要的就是状态设计了,正常来说数位dpdp ...
- 【bzoj3329】Xorequ 数位dp+矩阵乘法
题目描述 输入 第一行一个正整数,表示数据组数据 ,接下来T行 每行一个正整数N 输出 2*T行 第2*i-1行表示第i个数据中问题一的解, 第2*i行表示第i个数据中问题二的解, 样例输入 1 1 ...
- HDU 5598:GTW likes czf 敲了一天的数位DP
GTW likes czf Accepts: 6 Submissions: 29 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 13 ...
- 【bzoj 1833】【codevs 1359】 [ZJOI2010]count 数字计数(数位dp)
1833: [ZJOI2010]count 数字计数 Time Limit: 3 Sec Memory Limit: 64 MB Submit: 2774 Solved: 1230 [Submit ...
最新文章
- 26期20180716 iptables规则备份恢复 firewalld zone
- 2021年码农应该了解的所有机器学习算法
- 青岛大学计算机专硕和学硕,【2020】【青岛大学】【学硕646】复习经验
- SQL 百万级别记录优化之 -- 单引号带来的性能下降
- php5.5参数配置优化,5个PHP性能优化的编程习惯
- 通过 ViewState 保存 Self-Tracking Entities
- 苹果任命软件主管凯文•林奇为“苹果汽车”项目负责人
- bzoj1853: [Scoi2010]幸运数字 dp+容斥原理
- 位图引起的内存溢出OutOfMemory解决方案
- Matlab 基本画图命令
- 因多次登录失败导致的账户锁定,ssh无法登录处理
- 【UG】二次开发如何调试
- 生产任务分配问题 matlab+lingo
- WAS以及weblogic日志说明
- 我爬了某宝上4000+网店只为了告诉你中国人最爱喝什么绿茶
- 了解无人驾驶汽车原理
- 光源控制器接口定义说明
- 【Netty】Netty零拷贝原理
- CloudXNS首次使用体验
- 管理者的五大能力十大素质
热门文章
- 业余-----中国当代内地影视明星123
- 一无所有如何创业?以色列人做给你看
- 3ds max 无法打开
- 35岁前成功的黄金法则(1)-一个目标
- 【历史上的今天】3 月 26 日:谷歌创始人诞生;AMD 创始人出生;第一届世界 Altair 计算机大会
- Module not found: Error: Cannot resolve module 'react/lib/ReactMount' in ...
- mac java调用浏览器_Mac OS:Web 浏览器意外退出或停止响应
- 怎么把软件放在桌面上?
- 网络机顶盒usb调试模式打开
- 即付宝服务器无响应,即付宝蓝牙配对不成功,即付宝苹果蓝牙连不上