蓝桥杯十一届JavaA组-C++解题
本人随便乱写,目前正确性未知
C.本质上升序列
#include<bits/stdc++.h>
using namespace std;
bool access[4][4];
int dfs(int idx, int x, int y)
{
if(x<0 || y<0 || x>=4 || y>=4) return 0;
if(access[y][x]) return 0;
if(idx>=15) return 1;
int count=0;
access[y][x]=true;
count+=dfs(idx+1, x+1, y);
count+=dfs(idx+1, x, y+1);
count+=dfs(idx+1, x-1, y);
count+=dfs(idx+1, x, y-1);
access[y][x]=false;
return count;
}
int main(){
int count =0;
for(int i=0;i<16;i++)
{
count+=dfs(0, i%4, i/4);
}
cout<<count;
}
H. 奇偶覆盖
线段树初步版本,未完善
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
struct node
{
int l,r,h;
bool operator< (const node& a)const
{
return h<a.h;
}
}e[N*2];
int a[N*2];
int sum[N*2*4],flag[N*2*4];
void cal(int l,int r,int root)
{
sum[root]=(a[r]-a[l])-sum[root];
}
void pushup(int root)
{
sum[root]=sum[root<<1]+sum[root<<1|1];
}
void pushdown(int l,int r,int root)
{
if(!flag[root])
return ;
flag[root<<1]^=1;
flag[root<<1|1]^=1;
int mid=l+r>>1;
cal(l,mid,root<<1);
cal(mid,r,root<<1|1);
flag[root]=0;
}
void update(int l,int r,int root,int ql,int qr)
{
if(l>=ql&&r<=qr)
{
cal(l,r,root);
flag[root]^=1;
return ;
}
pushdown(l,r,root);
int mid=l+r>>1;
if(mid>ql)
update(l,mid,root<<1,ql,qr);
if(mid<qr)
update(mid,r,root<<1|1,ql,qr);
pushup(root);
}
int main()
{
int n;
scanf("%d",&n);
int x1,x2,y1,y2,all=0;
for(int i=1;i<=n;i++)
{
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
e[2*i-1].l=min(x1,x2);
e[2*i-1].r=max(x1,x2);
e[2*i-1].h=min(y1,y2);
e[2*i].l=min(x1,x2);
e[2*i].r=max(x1,x2);
e[2*i].h=max(y1,y2);
a[2*i-1]=x1,a[2*i]=x2;
}
sort(a+1,a+1+n*2);
all=unique(a+1,a+1+n*2)-a-1;
for(int i=1;i<=2*n;i++)
e[i].l=lower_bound(a+1,a+1+all,e[i].l)-a,e[i].r=lower_bound(a+1,a+1+all,e[i].r)-a;
sort(e+1,e+1+2*n);
ll ans=0;
for(int i=1;i<=2*n;i++)
{
ans+=sum[1]*(e[i].h-e[i-1].h);
update(1,all,1,e[i].l,e[i].r);
}
printf("%lld\n",ans);
}
蓝桥杯十一届JavaA组-C++解题的更多相关文章
- (acwing蓝桥杯c++AB组)1.1 递归
(acwing蓝桥杯c++AB组)1.课程介绍+递归 文章目录 (acwing蓝桥杯c++AB组)1.课程介绍+递归 课程介绍 第一讲 递归与递推 递归 引入 递归的底层调用顺序 例题与练习 课程介绍 ...
- 2019第十届蓝桥杯C++B组题解(赛后重写的,不确保答案正确性,仅供参考)
先说一下这次的感受吧,我们考场比较乱,开始比赛了,还有的电脑有故障,(向这些人发出同情),第一次认真参加比赛,真正比赛的时候感觉没有那么正式,很乱,各种小问题,(例如博主就没找到题目在哪里,找到后又不 ...
- 第八届蓝桥杯java b组第六题
标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和 "baabcdadabc",可以找 ...
- 第七届(16年)蓝桥杯java B组决赛真题 愤怒的小鸟 解题思路
愤怒小鸟 X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车间相距 1000 米两火车 (不妨称A和B) 以时速 10米/秒 相对行驶. 愤怒的小鸟从A车出发,时速50米/秒,撞向B车,然后返回去撞 ...
- Java实现 第十一届 蓝桥杯 (本科组)省内模拟赛
有错误的或者有问题的欢迎评论 计算机存储中有多少字节 合法括号序列 无向连通图最少包含多少条边 字母重新排列 凯撒密码加密 反倍数 正整数的摆动序列 螺旋矩阵 小明植树 户户通电 计算机存储中有多少字 ...
- 第三届蓝桥杯C++B组国(决)赛真题
解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论 题目1.星期几 1949年的国庆节(10月1日)是星期六. 今年(2012)的国庆节是星期一. 那么,从建国到现在,有几次国庆节正好是星期日呢 ...
- 蓝桥杯java高职组
标题1: 猜年龄 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中 国清华大学讲学. 一次,他参加某个重要会议,年轻的脸孔引人注目.于是 ...
- 蓝桥杯比赛javaB组练习《牌型种数》
牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌.一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张.这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌 ...
- 49-2015年第6届蓝桥杯Java B组
1.三角形面积 如图1所示.图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. image.png 计算方法: 8 * ...
- 46-2016 蓝桥杯 java B 组
1.煤球数目 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .... 如果一共有100层,共有多少个煤 ...
随机推荐
- Go语言中密码加密校验
使用go自带的库bcrypt bcrypt是不可逆的加密算法,无法通过解密密文得到明文. bcrypt和其他对称或非对称加密方式不同的是,不是直接解密得到明文,也不是二次加密比较密文,而是把明文和存储 ...
- DE 算法的变体python实现
上演化计算课的时候老师讲了一种DE算法的改进算法CoDE,于是看了下CoDE的论文中的算法步骤: 算法中使用的三种交叉策略: 根据不同的交叉策略采取不同的变异策略: 超参数的三种不同组合(一一对应): ...
- 一招彻底解决——双系统下windows时间错误显示
双系统下windows与ubuntu系统时间不同步 我的笔电是windows系统,工作需要安装了ubuntu,于是成为双系统,于是从18年我就遇到了装了ubuntu系统之后windows时间显示错误的 ...
- 基础实验之访问控制列表ACL应用
要求: 1,PC1,PC2,PC3互通 2,配置ACL限制PC2不能访问PC3 1,首先规划好IP,配置如上图 SW2配置 # vlan batch 10 20 # interface Vlanif ...
- setter注入--简单类型
UserDaoImpl中的代码,实现对name和age的注入 private String name; private int age; public void setName(String name ...
- bitmap_find_next_zero_area_off函数
备注:
- tuxedo启动相关的知识
tuxedo启动都要启动哪些服务? tuxedo常用命令有哪些? 参考链接: https://docs.oracle.com/cd/E13161_01/tuxedo/docs10gr3/rfcm/rf ...
- 转载:Windows Server查看W3SVC IIS服务器中对应的网站日志
W3SVC日志文件夹中序号的含义,格式就是W3SVC+网站ID 如果没有自定义站点的日志路径,日志默认的路径是C:\inetpub\logs\LogFiles\ 基本上每个网站存放日志的文件夹名称都是 ...
- 转帖:巧用Stream优化老代码,太清爽了!
Java8的新特性主要是Lambda表达式和流,当流和Lambda表达式结合起来一起使用时,因为流申明式处理数据集合的特点,可以让代码变得简洁易读 放大招,流如何简化代码 如果有一个需求,需要对数据库 ...
- 执行sql语句,查询sql版本
SELECT VERSION();