Codeforces Round #498 (Div. 3) F. Xor-Paths
题目链接:F. Xor-Paths
题解:从起点和终点双向搜索在中间相遇时更新答案
1 #include<bits/stdc++.h> 2 #include<set> 3 #include<cstdio> 4 #include<iomanip> 5 #include<iostream> 6 #include<string> 7 #include<cstring> 8 #include<algorithm> 9 #define pb push_back 10 #define ll long long 11 #define fi first 12 #define se second 13 #define PI 3.14159265 14 #define ls l,m,rt<<1 15 #define rs m+1,r,rt<<1|1 16 #define eps 1e-7 17 #define pii pair<int,int> 18 typedef unsigned long long ull; 19 const int mod=998244353; 20 const ll inf=0x3f3f3f3f3f3f3f; 21 const int maxn=25; 22 using namespace std; 23 ll n,m,cn,ans,k; 24 ll a[25][25]; 25 map<ll,ll>mp[maxn][maxn]; 26 void dfs1(int x,int y,ll s) 27 { 28 //cout<<x<<" "<<y<<" "<<s<<endl; 29 if(x+y-2==(n+m-2)/2) 30 { 31 //cout<<x<<" "<<y<<" "<<s<<endl; 32 mp[x][y][s]++;return ; 33 } 34 if(x+1<=n)dfs1(x+1,y,s^a[x+1][y]); 35 if(y+1<=m)dfs1(x,y+1,s^a[x][y+1]); 36 } 37 void dfs2(int x,int y,ll s) 38 { 39 if(mp[x][y].size()>0) 40 { 41 //cout<<x<<" "<<y<<" "<<(s^a[x][y])<<" "<<(s^a[x][y]^k)<<endl; 42 ans+=mp[x][y][s^k^a[x][y]]; 43 return ; 44 } 45 if(x-1>=1)dfs2(x-1,y,s^a[x-1][y]); 46 if(y-1>=1)dfs2(x,y-1,s^a[x][y-1]); 47 } 48 int main() 49 { 50 ios::sync_with_stdio(false); 51 cin.tie(0);cout.tie(0); 52 cin>>n>>m>>k; 53 for(int i=1;i<=n;i++) 54 { 55 for(int j=1;j<=m;j++) 56 cin>>a[i][j]; 57 } 58 dfs1(1,1,a[1][1]); 59 dfs2(n,m,a[n][m]); 60 cout<<ans<<endl; 61 return 0; 62 }
View Code
转载于:https://www.cnblogs.com/lhclqslove/p/9326214.html
Codeforces Round #498 (Div. 3) F. Xor-Paths相关推荐
- Codeforces Round #699 (Div. 2) F - AB Tree(贪心、树上DP)超级清晰,良心题解,看不懂来打我 ~
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #699 (Div. 2) F - AB Tree Problem ...
- Codeforces Round #644 (Div. 3) F.Spy-string
Codeforces Round #644 (Div. 3) F.Spy-string 题目链接 You are given n strings a1,a2,-,an: all of them hav ...
- Codeforces Round #849 (Div. 4) F. Range Update Point Query
Codeforces Round #849 (Div. 4) F. Range Update Point Query 题目大意: 给一串数字,有两个操作: 操作1:将 l − r l-r l−r 的数 ...
- Codeforces Round #590 (Div. 3) F. Yet Another Substring Reverse 子集dp
传送门 文章目录 题意: 思路: 题意: 思路: 之前做过类似的题,翻转一个字串相当于将任意两个不相交的串连在一起.再一看字符集≤20\le20≤20,那就是铁子集dpdpdp了. 定义f[i]f[i ...
- Codeforces Round #538 (Div. 2) F. Please, another Queries on Array? 线段树 + 欧拉函数
传送门 文章目录 题意: 思路: 题意: 给你一个序列aaa,你需要实现两种操作: (1)(1)(1) 将[l,r][l,r][l,r]的aia_iai都乘rrr. (2)(2)(2) 求ϕ(∏i= ...
- Codeforces Round #742 (Div. 2) F. One-Four Overload 构造 + 二分图染色
传送门 文章目录 题意: 思路: 题意: 给你一个n∗mn*mn∗m的矩形,包含...和XXX,你有两种颜色,你需要给...染色使得每个XXX上下左右相邻的...其两种颜色个数相同,输出一种合法方案. ...
- Codeforces Round #743 (Div. 2) D. Xor of 3 模拟 + 构造
传送门 文章目录 题意: 思路: 题意: 给你一个010101序列aaa,定义一次操作是选择一个[1,n−2][1,n-2][1,n−2]范围内的下表,将ai,ai+1,ai+2a_i,a_{i+1} ...
- Codeforces Round #740 (Div. 2) F. Top-Notch Insertions 线段树 / 平衡树 + 组合数学
传送门 文章目录 题意: 思路: 题意: 思路: 考虑最终的序列是什么鸭子的,首先序列肯定单调不降,也就是a1≤a2≤a3≤...≤ana_1\le a_2\le a_3\le ...\le a_na ...
- Codeforces Round #585 (Div. 2) F. Radio Stations 2-sat + 神仙建模
传送门 文章目录 题意: 思路: 题意: 你现在有ppp种电台,有nnn对关系(x,y)(x,y)(x,y)代表xxx电台或yyy电台中至少有一个,mmm对关系(x,y)(x,y)(x,y)代表xxx ...
最新文章
- 【Netty】大白话 Netty 核心组件分析
- jmeter提取多个变量的多个值_jmeter用一个正则提取器提取多个值的两种方法
- C++中为何构造函数不可是虚函数,而析构函数可以?
- QT udp自动获取对方ip和端口号
- 基于百度地图js进行地理定位
- 系统架构师 项目经理 哪个更有前景_中央空调加地暖与五恒系统,哪个更省钱?...
- 关于神经网络训练的一些建议笔记
- k8s extender_Windows Home Server的Drive Extender的9种选择
- java程序设计题库
- 网络对抗技术——密码破解技术
- 干货 | 外文文献哪里找?八大网站免费下载!
- PS常用案例步骤详解,自学 Photoshop 2022 Mac版,多个PS后期修图小案例笔记
- Python网络爬虫--项目实战--scrapy爬取贝壳网
- layui搭建后台管理页
- 完整代码-Vue+Java后台实现省市区三级联动
- python 入侵服务器_一个入侵iis服务器的简单案例
- 故障电路指示灯行业研究及十四五规划分析报告
- python好学么零基础_python编程好学吗 自学行吗
- Go语言案例(一)音乐播放器
- 八图片在线图片设置付费
热门文章
- c语言命名规则_C语言的基本数据类型及变量
- ftp主要完成与远程计算机的连接,2015计算机三级《网络技术》复习重点:远程登录服务和FTP服务...
- 晨风机器人怎么买奴隶_潮牌复刻和正品该怎么抉择???带你了解了解
- C语言的特点与创建的基本步骤是什么
- C语言项目:推箱子大战
- 信捷步进指令的使用_步进电机驱动器的模式
- python生成uuid_咸鱼高赞回答:有什么相见恨晚的Python技巧,附赠python最新教程...
- java object... arguments_Java面试之基础题---对象Object
- 【渝粤题库】广东开放大学民法 形成性考核
- 【渝粤题库】陕西师范大学164204 供应链与物流管理 作业