HDOJ 5794 (2016多校联合训练 Training Contest 6) A Simple Chess

使用C++编写一个可视化窗口 初学C++时,控制台会给我们提供一个黑窗口,而这篇文章所做的就是:创建一个属于图形界面窗口,而不是使用控制台黑窗口 如图,这是一个标题为XSZY的窗口 看完这篇文章,你想要的窗口大小,图标等都可以自己定义 甚至是在窗口上鼠标的样子,都是可以随意改的 所有有关视窗的基本函数和类型都定义在头文件 <windows.h> 中 我们只需要引用就好了 //引用头文件 windows.h #include<windows.h> 然后定义程序的入口函数main int __stdcall W 阅读详情

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5794


第六场多校唯一"做"出来的一题(小编觉得,像 A Boring Question(01)和 A Simple Nim(03)这种打个表莫名其妙就A的题没啥好讲的)。

题意:给我们一个棋盘,棋盘上有r个障碍,我们能够从(1,1)出发,每一次能够向右下走日字,问我们走到终点的方案数。

很简单的一个容斥原理的运用,举个例子,我们从点i出发,途中有一个障碍点j,从点i到终点的方案数,就等于总方案数减去从j到终点的方案数*从点i到点j的方案数。

#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long LL;
const LL mod=110119;
const LL maxn=100;
LL dp[maxn*10+20];
LL f[mod*10];
struct Point{LL x,y;}p[maxn+20];
bool cmp(Point a,Point b)
{
  if(a.x<b.x)return 1;
  if(a.x>b.x)return 0;
  return a.y<b.y;
}
LL Power_mod(LL a, LL b, LL p)
{
    LL res = 1;
    while(b)
	{
        if(b&1) res = (res * a) % p;
        a = (a*a) % p;
        b >>= 1;
    }
    return res;
}
LL Comb(LL a, LL b, LL p)
{
    if(a < b)   return 0;
    if(a == b)  return 1;
    LL ans=f[a]*Power_mod(f[b]*f[a-b]%p,p-2,p)%p;
    return ans;
}
LL Lucas(LL n, LL m, LL p)
{
    LL ans = 1;
    while(n && m && ans)
	{
    	ans = (ans*Comb(n%p, m%p, p)) % p;
        n /= p;
        m /= p;
    }
    return ans;
}
LL get(LL x,LL y)
{
	if((x+y)%3 || max(x,y)>2*min(x,y))return 0;
	LL a=(x+y)/3,b=(2*x-y)/3;
	if(a<0 || b<0)return 0;
	return Lucas(a,b,mod);
}
int main()
{    
	LL i,j,k,h,w,n,cas=0;
	f[0]=f[1]=1;
	for(i=2;i<=mod+20;i++)f[i]=f[i-1]*i%mod; 
	while(~scanf("%I64d%I64d%I64d",&h,&w,&n))
    {
	    for(i=0; i<n; i++) scanf("%I64d%I64d",&p[i].x,&p[i].y);
	    if((h+w-2)%3 || max(h-1,w-1)>2*min(h-1,w-1))
        {
	        printf("Case #%I64d: 0\n",++cas);
	        continue;
        }
	    sort(p,p+n,cmp),p[n].x=h,p[n].y=w;
	    for(i=0; i<=n; i++)
        {
	        dp[i] = get(p[i].x-1,p[i].y-1);
	        for(j=0; j<i; j++)
				if(p[j].x <= p[i].x && p[j].y <= p[i].y)
	            {
		            dp[i] -= get(p[i].x-p[j].x,p[i].y-p[j].y)*dp[j];
		            dp[i] = (dp[i]%mod+mod)%mod;    
	            }  
        }
    	printf("Case #%I64d: %I64d\n",++cas,dp[n]);
    }
	return 0;
}


Windows 11下用Ollama一键部署DeepSeek-R1大模型(附8B/14B版本选择建议) 本文详细介绍了在Windows 11环境下使用Ollama工具一键部署DeepSeek-R1大模型的完整指南,包括8B和14B版本的选择建议。通过硬件评估、安装配置、性能优化等步骤,帮助开发者高效实现本地部署,提升AI应用体验。 阅读详情

相关推荐

Python爬虫实战:巧用HEAD请求和Cookie令牌绕过沃尔玛反爬(附完整代码)

本文详细介绍了如何利用Python爬虫技术,通过HEAD请求和Cookie令牌绕过沃尔玛的反爬机制。文章深入解析了人机验证系统的运作原理,并提供了完整的工程化实现代码,包括令牌池设计、高并发架构和异常处理策略,帮助开发者高效采集电商数据。

weixin_29046035的博客 1007

HDOJ 5752 (2016多校联合训练 Training Contest 3) Sqrt Bo

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5752 多校水题一枚,题意是说,给我们一个数,判断经过5次以内的开根并向下取整,能否变成1,首先要想经过5次开根就变成1,肯定是在某一个范围内才可以达到的,举个例子,一次开根达到1的话,那么这个数肯定是在小于4的范围内才行的,两次的话就应该是25,三次的话就是676,四次是458329,五次是

RaAlGhul的博客 552

记录思科cisco交换机升级iso步骤

Cisco Nexus 93180交换机版本升级

a635161812的博客 4377

HDOJ 5792 (2016多校联合训练 Training Contest 5) World is Exploding

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5792 题意,给我们n个数的序列A,问我们能够找到多少四个不同位置a,b,c,d的数满足:a≠b≠c≠d,1≤aAd. 这题很明显可以用到容斥原理去处理,我们可以先找到所有的情况然后我们再去减去多余的部分即可,算总个数显然就是所有的上升序列个数*所有的下降序列的个数。仔细思考,我们多余的是哪

RaAlGhul的博客 683

海思MPP平台千兆以太网驱动集成与测试指南

千兆以太网(GE)是嵌入式视觉系统中音视频流传输与边缘控制的核心物理接口,其底层驱动需兼顾DMA高效调度、中断实时响应与PHY链路稳定性。在Linux嵌入式环境中,GE驱动通常基于net_device框架实现,并深度耦合于SoC专用媒体处理平台(如海思MPP),通过硬件抽象层(HAL)屏蔽寄存器操作,提供零拷贝、RGMII时序适配、描述符环管理等关键能力。技术价值体现在降低CPU负载、保障1080p@30fps实时推流、支持ONVIF/RTSP协议交互及固件远程升级。典型应用场景包括网络摄像机(IPC)、A

weixin_42599908的博客 89

ERPS协议原理

目录 1、ERPS概述: 2、ERPS名词概念解释: 3、ERPS协议报文: 4、ERPS单环基本原理: 5、单环多实例原理: 6、多环原理: 1、ERPS概述: ERPS(Ethernet Ring Protection Switching),即以太网多环保护技术,是ITU-T定义的一种二层破环协议标准,标准号为ITU-T G.8032/Y1344,因此又称为G.8032。它定义了RAPS(Ring Auto Protection Switching)协议报文和保护倒换机制。 ERPS目前支持v1和v2两

weixin_44880796的博客 1万+

HDU 6370 (并查集+bfs)

题意: 有n个人,狼人说假话或者真话,村民说真话。每个人说一句话,x是狼人或者x是村民,x不会是自己,问最后能确定的狼人和村民各有多少个。 思路: 首先注意到,没有办法肯定一个人是村民,因为狼人也可能说真话,所以确认村民的个数一定为0。 根据村民边建出一棵树,如果这颗树中的子节点有一条狼人边指向自己所在的树,那么那个祖先一定是狼人,再根据这个铁狼,找出说这只铁狼是村民的人,也是狼人。 所以用并...

陋室 463

安卓15_ROM修改定制化_____修改rom的前提条件 去除各种验证 安卓设备通用

通过博文了解💝💝💝 1-------💝💝💝了解安卓设备的启动流程与核心验证机制 2-------💝💝💝了解安卓设备修改rom中的各种验证机制以及对应的去除方法 3-------💝💝💝了解avb验证与dm验证的本质区别与对应的操作方式 4-------💝💝💝修改rom前的循序步骤 避免验证机制导致的不开机

小马哥的专栏 506

HDOJ 5744 (2016多校联合训练 Training Contest 2) Keep On Movin

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5744 在多校训练中难得一见的水题,比赛刚刚开始的时候题目还有错,根本看不懂题意,后来题目改了,就变成一道真正的大水题了,题意是说要我们用所有的字符做成多个回文串,然后在所有可能的每一个组合里面最短的回文串在所有的组合中最长是多少。 首先显然,如果直接把所有的字符都用上构成一个回文串,那么这

RaAlGhul的博客 622

5 分钟上手 Kimi Work:安装、配置、跑通第一个任务

这篇文章提供了Kimi Work的快速入门指南,帮助用户在5分钟内完成从安装到运行第一个任务的全过程。主要内容包括: 安装步骤: macOS用户下载.dmg文件并拖入Applications Windows用户下载.exe安装包,需注意中文路径问题 初始设置: 使用现有Kimi账号登录 检查任务配额和文件访问权限 首个任务推荐: 建议从简单的本地文件整理开始(如按类型分类桌面文件) 详细说明了任务执行流程和审批机制 常见问题: 计划生成卡顿的解决方法 文件无变化的排查步骤 进阶建议: 提供难度递增的后续任务

sg_knight的专栏 2780

Xilinx系FPGA学习笔记(三)Vivado的仿真及ILA使用

接着学习vivado的使用方法。

贾saisai的博客 2546

HDOJ2717(BFS)

大意:在x轴上可以走到x-1或x+1或2*x的位置,给出起点位置和目标位置,求最小步数。 分析:BFS水题。 代码: #include<iostream> #include<cstdio> #include<queue> #include<cstring> #include<algorithm> #in...

weixin_33749242的博客 200

PHP实现获取本机ip及mac地址​(附完整源码)

PHP实现获取本机ip及mac地址​(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 352

HDU 6370(并查集)

传送门 题面: Werewolf Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 559    Accepted Submission(s): 123   Problem Description "The Werewolve...

Chen.Jr的博客 1663

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

2017微软秋季校园招聘在线编程笔试 Composition

题目链接:http://hihocoder.com/contest/mstest2016oct/problem/2 题意:给我们一些约束相邻的条件,让我们判断最少去掉多少个字符达到这个状态。 解题思路,因为都是小写字母,我们完全可以根据每个字母的约束条件,找到条件下的最长子串,答案就是长度减去这个最长子串的长度。 复杂度:26*n #include #include #incl

RaAlGhul的博客 2777

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

百度之星2015资格赛 大搬家

大搬家    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Problem Description 近期B厂组织了一次大搬家,所有人都要按照指示换到指定的座位上。指示的内容是坐在位置ii上的人要搬到位置jj上。现在B厂有NN个人,一对一到

RaAlGhul的博客 1088

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

华中农业大学第四届程序设计大赛网络同步赛 Arithmetic Sequence

题目链接:http://acm.hzau.edu.cn/problem.php?cid=1009&pid=9 Problem J: Arithmetic Sequence Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 1823  Solved: 317 [Submit][Status][Web Board] Descr

RaAlGhul的博客 1087

团体程序设计天梯赛 决赛 L2 列车调度

题目链接:https://www.patest.cn/contests/gplt/L2-014 题意:让我们求出这个序列最少的下降序列个数,而最少的下降序列个数就等于整个序列最长上升子序列的长度。 #include #include #include #include using namespace std; const int maxn = 100000+5; int a[maxn]

RaAlGhul的博客 1022

HDOJ 1494 跑跑卡丁车

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1494 跑跑卡丁车,中文题,题意不再赘述。每次小编在写DP题解的时候都会加上一句,DP问题是个玄学,这道题也是一样,在输入方面每一个路段都有两个值,是不是和背包问题很像啊,每一个东西都有一个体积和价值,当然,这道题肯定不是简单的01背包那么简单,这题特殊的一些条件肯定在转移方程上会有所不同,我们要同时

RaAlGhul的博客 956

"巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场 Combine String

题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1006&cid=714 题意:给你两个字符串a和b,再给你一个字符串c,问你c可不可以分成两个a和b的子串。 此题我们考虑c串的每一位,c的每一位前面的都可能是a的前i个数和b的前j个数组成,那么我们可以去枚举每一种组合情况。 我们用dp[i][j]来表示在枚举到

RaAlGhul的博客 954

HDOJ 5763 (2016多校联合训练 Training Contest 4) Another Meaning

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5763 题意:给我们一个母串a和模板串b,我们可以把母串里面包含的模板串换成另一个串,问我们最终可以得到多少种不同的串。 这题我们用到的思路就是KMP+DP。 首先,我们用KMP求解出所有的能够匹配模板串的位置,然后就可以开始DP求解了,状态转移方程为: 1.如果当前位置没有匹配到模板串

RaAlGhul的博客 799

HDOJ 6082 度度熊与邪恶大魔王

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6082 百度之星2017资格赛的第三题。 自从从集训队退出之后,就再也没有做过题目了,当天晚上突然看到短信才想起还参加了这个比赛,当时正在看守望世界杯(堕落的暑假),有点心急,尤其是当时点开第一题看了一下,满脑子都是这TMD能做,未免有点心烦,心想反正做一题就可以了,于是马上打开了过

RaAlGhul的博客 757

HDOJ 1081 To The Max

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1081 题意:输出最大和的子矩阵的和。 拿到这题呢我第一反应是用统计的方法来做,也就是用二维的树状数组,因为题目的数据很小,才到100,要用二维树状数组遍历所有情况求最大值理论上来说是绝对可以的,小编我没试过。这道题这里小编讲解得方法是贪心+DP。在HDOJ上有这么一道题,因为做的时间有点久远了,小

RaAlGhul的博客 753

排队问题

一道学校内部测试赛的题目,对于这题我们采用的方法是DP。 dp[i][j][0~1]表示有i个男生j个女生时,最后一个人站的是男生(1)或女生(0)的方法数。 在男生个数没有超过k1的时候:dp[i][j][0] = dp[i-1][j][0] + dp[i-1][j][1]。 在女生个数没有超过k2的时候:dp[i][j][1] = dp[i][j-1][0] + dp[i][j-1][1

RaAlGhul的博客 751

HDOJ 1422 重温世界杯

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1422 一道简单的动态规划,对于处理这种收尾相连的问题,我们往往是在n后面再加n个与原来相同的数进行处理,对于这个问题,取与不取完全取决于当前的生活费是否大于0,我们在输入的时候就可以直接记录生活费与花费的差,这样方便我们直接进行DP叠加。 #include #include #include

RaAlGhul的博客 736

HDOJ 5691 Sitting in Line

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5691 小编果然是个辣鸡,百度之星比赛过去好久了,现在在状态压缩的专题里看到这一题,才反应过来这道题是状态压缩=.=,现在看来,16的数据以及很明显的状态暗示,我居然都没有看出来……哎,果然还是太辣鸡了。 本体不仅要枚举用了几个的状态,还要枚举当前状态最后一个是什么才行,因为我们是要算出相邻两项的乘

RaAlGhul的博客 676
上一篇: HDOJ 5783 (2016多校联合训练 Training Contest 5) Divide the Sequence
下一篇: HDOJ 5806 NanoApe Loves Sequence Ⅱ
RaAlGhul
博客等级 码龄11年 140粉丝 343原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值