8.20~8.25刷散题记录 By cellur925
记录一些散题 / 价值不大但还是想记下来的题目 / 没正八经写博客的题目
8.24
Luogu P1508 沙雕题数字三角形的二维升级版,但是注意阅读理解,李大水牛从桌子最后一行下侧开始吃,而本题是自下而上,其实按自上而下做也行,只不过最后的答案变成了三者取一最值。(面前、左上、右上)其他与数字三角形无异。
#include<cstdio>
#include<algorithm> using namespace std; int n,m;
int f[][]; int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
scanf("%d",&f[i][j]);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
f[i][j]+=max(f[i-][j-],max(f[i-][j],f[i-][j+]));
int qwq=(m+)>>;
printf("%d",max(f[n][qwq],max(f[n][qwq-],f[n][qwq+])));
return ;
}
8.23
Luogu P1550 最小生成树。(这题记得第一次月考完和Chemist在机房想一起刷点贪心,我抽到了这个题,两人一起做,后来才发现是MIT,但是我没做,大神写了qwq我四个月以后才写qwq).鉴于每个农庄自己凿井的情形,我们可以再构造一个源点,让所有自己凿井的情况与源点连边。然后就是裸的MIT了。但是注意无向边开两倍,还因为这个制杖错误没能1A,热了三个点orz。。。
Luogu P1993 差分约束系统。判断不等式组是否有解,直接建图判是否有负环。实践了一下可爱lyc的差分约束系统理论,但是漏洞百出。果然实践出针织qwq。
几个注意地方:1 不等式要化对
2 最后把所有的点和0连0权边,而不是仅把输入中涉及的点连
3 据说本题会卡bfs-spfa判负环,抄题解学习了一下dfs版本的spfa判负环,可以留当板子用。
4 spfa中dis[0]=0(这还需要说嘛)
5 head数组初值为-1,因为有编号为0的点存在。(没有亲测如果不赋会怎样,题解中不赋貌似也能过,可能是数据较弱的缘故)。
#include<cstdio>
#include<algorithm>
#include<cstring> using namespace std; int n,m,tot;
int head[],vis[],dis[];
struct node{
int next,to,val;
}edge[]; void add(int x,int y,int z)
{
edge[++tot].val=z;
edge[tot].to=y;
edge[tot].next=head[x];
head[x]=tot;
} bool spfa(int u)
{
vis[u]=;
for(int i=head[u];i!=-;i=edge[i].next)
if(dis[edge[i].to]>dis[u]+edge[i].val)
{
dis[edge[i].to]=dis[u]+edge[i].val;
if(vis[edge[i].to]) return ;
if(!spfa(edge[i].to)) return ;
}
vis[u]=;
return ;
} int main()
{
scanf("%d%d",&n,&m);
memset(head,-,sizeof(head));
memset(dis,,sizeof(dis));
for(int i=;i<=m;i++)
{
int opt=,a=,b=,c=;
scanf("%d",&opt);
if(opt==)
{
scanf("%d%d%d",&a,&b,&c);
add(a,b,-c);
}
else if(opt==)
{
scanf("%d%d%d",&a,&b,&c);
add(b,a,c);
}
else if(opt==)
{
scanf("%d%d",&a,&b);
add(a,b,);
add(b,a,);
}
}
for(int i=;i<=n;i++) add(,i,);
dis[]=;
if(spfa()) printf("Yes");
else printf("No");
return ;
}
留几个待填坑吧:
瓶颈树
集合
控制公司
无向图tarjan
奶牛家谱
派对灯
8.20~8.25刷散题记录 By cellur925的更多相关文章
- USACO Training刷题记录 By cellur925
Section 1.1 Your Ride Is Here 貌似没啥可说 Greedy Gift Givers 上来就想stl map映射,有两个坑:如果送给别人的人数为0,那么需要特判一下,防止整数 ...
- 搜索刷题记录by cellur925
我好菜啊!连暴搜都不会! 注意边界退出! 特开此帖,记录搜索学习之路!(逃) 1.全排列 2.八皇后 3.数的划分 由于此题有同一划分方法算一个的限制,我们为了避免搜多,可以使搜出的结果满足单调不降性 ...
- C语言刷数组题记录
讲解:https://mp.weixin.qq.com/s/weyitJcVHBgFtSc19cbPdw 二分法: 704. 二分查找 int search(int* nums, int numsSi ...
- c语言刷 队列题记录
622. 设计循环队列 https://blog.csdn.net/Galaxy_n/article/details/115978544 typedef struct { int *arrs; int ...
- c语言刷 链表题记录
61. 旋转链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode * ...
- c语言刷 DFS题记录
144. 二叉树的前序遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeN ...
- 刷题记录:[XNUCA2019Qualifier]EasyPHP
目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...
- DP刷题记录(持续更新)
DP刷题记录 (本文例题目前大多数都选自算法竞赛进阶指南) TYVJ1071 求两个序列的最长公共上升子序列 设\(f_{i,j}\)表示a中的\(1-i\)与b中色\(1-j\)匹配时所能构成的以\ ...
- [BUUCTF-Pwn]刷题记录1
[BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希 ...
随机推荐
- hihocoder 1579(排列组合)
题意 给出一个长度为n的字符串的sa数组,n<=1e5,问有多少种不同的字符串的sa数组正好是输入的sa数组(字符串每个位置都是小写字母) 分析 sa数组描述的是字符的大小关系,而不是确切的字符 ...
- java序列化,看这篇就够了
一.序列化的含义.意义及使用场景二.序列化实现的方式1.Serializable1.1 普通序列化1.2 成员是引用的序列化1.3 同一对象序列化多次的机制1.4 java序列化算法潜在的问题1.5 ...
- Spring Cloud(9):Config配置中心
Config配置中心作用简单来讲:统一配置,方便管理 开源配置中心: 1.百度Disconf 2.阿里Diamand 3.Spring Cloud Config 搭建Config-Server 快速上 ...
- Protobuf 完整解析 - 公司最常用的数据交互协议
Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关.语言无关.可扩展,可用于通讯协议和数据存储等领域. 数据交互xml.json.pro ...
- MongoDB学习day07--mongoose入门,数据库增删改查,默认参数,模块化
一.mongoose介绍 Mongoose 是在 node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具. Mongoose 是 NodeJS 的驱动, 不能作为其他语言的驱动. M ...
- 【nginx】【转】Nginx核心进程模型
一.Nginx整体架构 正常执行中的nginx会有多个进程,最基本的有master process(监控进程,也叫做主进程)和woker process(工作进程),还可能有cache相关进程. ...
- Centos 6.x 安装Nagios及WEB管理nagiosql实现windows及linux监控指南
一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...
- Linux程序设计(搭建开发环境--curses)
看官们.咱们今天要说的内容.是前面内容的一点小补充,详细的内容是:安装curses开发包.以搭建 开发环境.闲话休说,言归正转. 我们在前面说过搭建开发环境的内容,主要说了开发环境中的GCC和VIM, ...
- MySQL基础笔记(五) 视图
一.什么是视图 视图是一个虚拟表.也就是说,视图在外观和行为上都类似于表,但它不需要实际的物理存储,只保存了视图定义(查询语句). 视图由select查询所定义 -- 当创建一个视图时,实际上是在数据 ...
- Scrum 时间估算
在新公司里,不懂软件工程的产品经理经常逼迫研发人员作出很不靠谱的时间估算.常见场景有下面这些: 需求未细化的情况下要求给出时间估算:比如,就一句话描述需要做一个什么样的功能,但是具体页面长什么样,交互 ...