铜牌刷题路
文章平均质量分 94
iuk11
我想去更远的地方看看,现在还缺少载具。
展开
-
背包九讲 整理
该篇文章为了自己回顾基础,也为了下学期为社团讲解做个铺垫,本来想做ppt但是公式真是太折磨人了。主要是自己太菜了,想一直刷题,发现到后面想不出来,看题解也要看半天,仔细回想觉得是因为经典问题不牢固的原因。所有解题思路学习来源于acwing。01背包问题问题叙述: 有 nnn 件物品和一个容量为 vvv 的背包,每件物品只能选择一次。  原创 2021-07-30 22:09:14 · 210 阅读 · 0 评论 -
非精写版-51nod基础训练(终)
稳定婚姻参考文章首先介绍强连通分量:在有向图中,能形成回路的环。红色部分为强连通分量。在题目中,若夫妻离婚,男方要去找另一个女伴,然后迫使另一个女伴的夫妻双方离婚…过程描述为:男1->女2----男2->女3----男3->女4…男x->女1。一定是兜兜转转一圈之后最后有一个离婚的男选了最初离婚的女1,这样大家都配好了对,又重新组合成了n对夫妻,那么就说婚姻不是稳定的关系。(若有一部分人重新配对,但是有一部分人未拆散,保持原状,也称为重新组合成了n对夫妻)根据描述我们构原创 2021-06-15 00:36:33 · 128 阅读 · 0 评论 -
非精写版-51nod基础训练(5)
.原创 2021-06-13 17:28:48 · 187 阅读 · 0 评论 -
非精写版-51nod基础训练(4)
四点共面已知四个点,判断是否共面。可以求出三条向量,利用向量积求立方体体积,若体积是0,则四点共面。求出的三个向量:d1=(x1,y1,z1)d_1=(x_1,y_1,z_1)d1=(x1,y1,z1)d2=(x2,y2,z2)d_2=(x_2,y_2,z_2)d2=(x2,y2,z2)d3=(x3,y3,z3)d_3=(x_3,y_3,z_3)d3=(x3,y3,z3)V=d1∗d2∗d3V=d_1*d_2*d_3V=d1∗d2∗d3V=(x1y2z3+x2y3z1+x3原创 2021-06-11 14:20:29 · 140 阅读 · 1 评论 -
非精写版-51nod基础训练(3)
第一部分地址第二部分地址目录无向图最小生成树威佐夫游戏V2无向图最小生成树Kruskal算法,基于边选择的方法,适合稠密图。模板:#include<bits/stdc++.h>using namespace std;const int maxn=50050;struct node{ int fr,to,w;}e[maxn];bool cmp(const node &a,const node &b){ return a.w<b.w;}i原创 2021-06-08 22:37:13 · 139 阅读 · 1 评论 -
非精写版-51nod基础训练(2)
衔接上篇点击跳转因为长度问题,一直发不出去,所以拆开来完成。目录中国剩余定理子段求和背包问题中国剩余定理看了好几个博客,推导的式子都是错误的,额,越看越难受。最后在b站找到了一个讲解视频,之前就看到过,后来又忘记怎么算了,写下来记录一下。栗子: 三三数余二,五五数余三,七七数余二,问数为多少。翻译:k%3=2k\%3=2k%3=2k%5=3k\%5=3k%5=3k%7=2k\%7=2k%7=2问k最小为多少。套用中国剩余定理的公式:x≡1(mod 3)x \equiv 1原创 2021-05-29 20:08:11 · 256 阅读 · 0 评论 -
非精写版-51nod基础训练(持续更新)
题目就不赘述了,来源51nod网站。最长公共子序列LCS这道题是一道非常好想的二维dp问题,可以在不选当前行,不选当前列的情况下(dp[i+1][j+1]=dp[i][j]+1),若两个字符串中的字符相等,则有在原来的子序列基础上又增加一个字符;若两个字符串中的字符不相等,则寻找到此为止的最大的子序列的长度是多少,把值赋给它。dp[i][j]:表示第一个字符串取(0,i-1),第二个字符串为(0,j-1),最长的公共子序列是多长。最后在记录长度的同时,记录这个子序列的长度是怎么加过来的,记录完毕后从原创 2021-05-25 10:13:18 · 1263 阅读 · 2 评论 -
第二题 POJ 2965
做了第一题,见上一个发布,发现是一样的方法,4x4都没变,就是多加了一个输出变换路径,我也没置零置一,直接写了个大模拟,翻转之后记录,用步数记录,妙,对递归理解又多了一点。明天再手写一次,加油。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char str[5][5];int ansx[20],ansy[20];原创 2020-10-14 22:27:08 · 86 阅读 · 0 评论 -
刷题计划1——poj1753
最近准备开始刷题了,不知道能坚持多久,等我有能力单挑铜牌了,路还长。第一道,枚举,之前就见到过,昨天才写ac,方法一是枚举+dfs,也是最好理解的方法。方法二是位运算+bfs,对于我这个不太会位运算的,看的有点难受。#include<iostream>#include<set>#include<queue>#include<cmath>#include<stack>#include<vector>#include<原创 2020-10-14 19:56:22 · 220 阅读 · 0 评论