记录一些散题 / 价值不大但还是想记下来的题目 / 没正八经写博客的题目

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的更多相关文章

  1. USACO Training刷题记录 By cellur925

    Section 1.1 Your Ride Is Here 貌似没啥可说 Greedy Gift Givers 上来就想stl map映射,有两个坑:如果送给别人的人数为0,那么需要特判一下,防止整数 ...

  2. 搜索刷题记录by cellur925

    我好菜啊!连暴搜都不会! 注意边界退出! 特开此帖,记录搜索学习之路!(逃) 1.全排列 2.八皇后 3.数的划分 由于此题有同一划分方法算一个的限制,我们为了避免搜多,可以使搜出的结果满足单调不降性 ...

  3. C语言刷数组题记录

    讲解:https://mp.weixin.qq.com/s/weyitJcVHBgFtSc19cbPdw 二分法: 704. 二分查找 int search(int* nums, int numsSi ...

  4. c语言刷 队列题记录

    622. 设计循环队列 https://blog.csdn.net/Galaxy_n/article/details/115978544 typedef struct { int *arrs; int ...

  5. c语言刷 链表题记录

    61. 旋转链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode * ...

  6. c语言刷 DFS题记录

    144. 二叉树的前序遍历 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeN ...

  7. 刷题记录:[XNUCA2019Qualifier]EasyPHP

    目录 刷题记录:[XNUCA2019Qualifier]EasyPHP 解法一 1.error_log结合log_errors自定义错误日志 2.include_path设置包含路径 3.php_va ...

  8. DP刷题记录(持续更新)

    DP刷题记录 (本文例题目前大多数都选自算法竞赛进阶指南) TYVJ1071 求两个序列的最长公共上升子序列 设\(f_{i,j}\)表示a中的\(1-i\)与b中色\(1-j\)匹配时所能构成的以\ ...

  9. [BUUCTF-Pwn]刷题记录1

    [BUUCTF-Pwn]刷题记录1 力争从今天(2021.3.23)开始每日至少一道吧--在这里记录一些栈相关的题目. 最近更新(2021.5.8) 如果我的解题步骤中有不正确的理解或不恰当的表述,希 ...

随机推荐

  1. java基础语法——方法,static关键字

    一:方法: 1.什么是方法: 通俗地讲,方法就是行为.它是完成特定功能的代码块能执行一个功能.它包含于类和对象中. 2.为什么要有方法: *提高代码的复用性. *提高效率 *利于程序维护 3.命名规则 ...

  2. Java实验——输出二维数组连续二维子数组的最大和

    该算法思路,根据我博客里面一维子数组求和的思路,可以用一个新的二维数组对该二维区域的数组进行求和,例如新的二维数组的第5个位置,就代表从1到5斜对角线的块状区域的和,即1,2,4,5这4个数的和,x个 ...

  3. 个人网站开发***云服务器+Linux+域名***

    作为一个改变世界的程序猿,我们不应该只会埋头写程序修bug还得会点别的, 当然如果要是自己搞个网站玩玩,既可以锻炼技术,没事也可以和圈外的朋友吹吹 牛.因为水平有限,就弄一些最基础的看看喽,不喜勿喷. ...

  4. IO与文件读写---Java的IO流架构

    http://www.blogjava.net/pengpenglin/archive/2010/03/03/314239.html#314399 http://www.blogjava.net/jo ...

  5. 表皮囊肿?wtf

    https://baike.baidu.com/item/%E8%A1%A8%E7%9A%AE%E5%9B%8A%E8%82%BF/7852024?fr=aladdin

  6. jenkins的构建日志(console output)分类解析

    每个jenkins的job构建过程中会产生大量日志,如何快速找到或者查看我们关心的日志显得很有意义,为此jenkins提供了一个插件“Log Parser Plugin”可以帮助我们完成这个任务. 1 ...

  7. 查看linux接口进出口流量的命令;linux 网络监控;流量监控

    1.nload,左右键切换网卡 2.sudo iftop 3.sudo iptraf 按连接/端口查看流量 4.sudo nethogs: 按进程查看流量占用 5.ss: 连接查看工具 6.dstat ...

  8. 【Mongodb教程 第十四课 】MongoDB 投影

    mongodb 投影意思是只选择必要的数据而不是选择一个文件的数据的整个.如果一个文档有5个字段,需要显示只有3个,然后选择其中只有3个字段. find() 方法 MongoDB 的find()方法, ...

  9. LightOJ - 1317 Throwing Balls into the Baskets 期望

    题目大意:有N个人,M个篮框.K个回合,每一个回合每一个人能够投一颗球,每一个人的命中率都是同样的P.问K回合后,投中的球的期望数是多少 解题思路:由于每一个人的投篮都是一个独立的事件.互不影响.所以 ...

  10. [iOS]经常使用正則表達式

    经常使用正則表達式大全!(比如:匹配中文.匹配html) 匹配中文字符的正則表達式: [u4e00-u9fa5]    评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包含汉字 ...