POJ Candies——差分约束+spfa 水题

前置知识spfa,差分约束不会的建议先去做洛谷P1993最开始用队列,不知道为什么超时了,看别人的博客把队列换成栈就行了。我也这样换一下,不太懂。code:#include<iostream>#include<cstdio>#include<algorithm>#include<cstdlib>#include<cstring>#include<stack>using namespace std;#define
分类: 其他 发布时间: 03-03 09:20 阅读次数: 0

单调队列滑动窗口——洛谷P1886

单调队列,故名思义,就是队列中的元素单调递增或者递减。然后考察队首(head)和队尾(tail)对于队尾,主要是让元素进入,如果进来的元素打乱了原先的顺序,那么就剔除队尾的一些元素,再加入新的元素,直到符合单调性。对于队首,如果超出了滑动窗口的大小那么,就要弹出元素。code#include<bits/stdc++.h>#define maxn 1000010using namespace std;int a[maxn],q[maxn],p[maxn],head,tail;int
分类: 其他 发布时间: 03-03 09:20 阅读次数: 0

Marriage Match IV(最短路+网络流)

题意:N个点M条边的有向图,给定起点S和终点T,求每条边都不重复的S–>T的最短路有多少条。第一步:求出最短路若d[u]+w == d[v]。那么e就是最短路上的一条边。spfa会被卡常,建议改用dijikstra第二步:求出最大流每条边都不重复的××,老网络流模型了求解S到T的最大流。将所求得的最短路的边,建新图,每条边的流量都是1。再用dinik求出S到T的最大流,即最终答案。code:#include<bits/stdc++.h>#define ll long lo
分类: 其他 发布时间: 03-03 09:20 阅读次数: 0

Layout——最短路+差分约束

一共有n头牛,有ml个关系好的牛的信息,有md个关系不好的牛的信息,对应输入的第一行的三个元素,接下来ml行,每行三个元素A,B,D,表示A牛和B牛相距不希望超过D,接下来md行,每行三个元素A,B,D表示A牛和B牛的相距至少要有D才行。求1号牛和n号牛的最大距离,如果距离无限大输出-2,如果无解输出-1。显然是一道差分约束题差分约束格式将原不等式化成u-v<=w的格式u-v<=w ⇒ add(u,v,w);u-v>=w ⇒ v-u<=w ⇒ add(v
分类: 其他 发布时间: 03-03 09:19 阅读次数: 0

[kuangbin带你飞]专题四 最短路练习——刷题报告

主要讲了以下几类题1、最短路的变种:最短路的边权最大值。dijiksra修改判断条件即可2、来回/多次最短路,比如C题就是这种模式,属于来回最短路,实际上,就是一个简单的求两次最短路3、判断负环/正环:主要采取spfa方式,如果某一个点的入栈次数超过n,那么就存在负环/正环。4、各种奇奇怪怪的最短路的不同叙述,比如货币换算、0or1等题,还有直接给坐标的。5、对于点权和各种细节的处理,比如昂贵的聘礼。6、差分约束问题。先将不等式写成差分约束的形式。然后跑出最短路。7、最短路覆盖:如果dis[u
分类: 其他 发布时间: 03-03 09:19 阅读次数: 0

带权并查集模板——How Many Answers Are Wrong

简单的说,就是以最左边的点为根节点。然后用rank[]记录该点到根节点(也就是最左侧)的距离。#include<iostream>#include<cstdio>using namespace std;#define maxn 200010#define rank ranksint f[maxn],rank[maxn];int find(int x){ if(x==f[x])return x; int tmp = find(f[x]); rank[x]+=ran
分类: 其他 发布时间: 03-03 09:19 阅读次数: 0

ccfcsp201803-2——碰撞的小球

问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。现在,告诉你线段的长度L,小球数量n,以及n个小球的初始位置,请你计算t秒之后,各个小球的位置。提示  因为所有小球的初始位
分类: 其他 发布时间: 03-03 09:18 阅读次数: 0

2020 CCPC 网络赛1002—— Graph Theory Class

刚签完到就上min_25筛233好!很有精神!思路:构造每个点若要加入原有图,那么所需的代价最低是它本身,最多与2相连,也就是这个数的两倍。显然,最终的答案是10^10以内的质数和*2+合数和。也就是10^10以内的所有数之和+质数和我们考虑用min_25筛解决我们设F(i) = i(当i为质数的时候)显然质数之和为我们设函数g(n,j)为求出1到n中,i为质数或i的最小质因子大于当前第j个质数的f ( i )。其中 pjp_jpj​表示第j个质数显然我们要求的就是g(n,0)对于这
分类: 其他 发布时间: 03-03 09:18 阅读次数: 0

山东大学数据结构实验 栈——计算表达式

建立两个栈数字栈和符号栈。读入表达式遇到数字存入数字栈,遇到左括号和±*/存入符号栈维护符号栈中符号优先度单调。如果遇到右括号,那么一直向右计算,直到遇到左括号为止代码:#include<iostream>#include<algorithm>#include<string>using namespace std;int level[200];//符号优先级template<class T>class Stack{ public:
分类: 其他 发布时间: 03-03 09:18 阅读次数: 0

CF1433F Zero Remainder Sum——dp

一看题就直到是老dp了。给出一个矩形,每行最多只能选一半向下取整,问最后结果最大并且整除k的值是多少。显然我们要构造一个四维数组dp[i][j][k][h]代表在i行j列选取k个并且取模为h的结果code:#include<bits/stdc++.h>using namespace std;int a[100][100];int dp[75][75][75][75];int main(){ int n,m,k; scanf("%d%d%d",&n,&m
分类: 其他 发布时间: 03-03 09:18 阅读次数: 0

CF1430E. String Reversal

给出一个字符串,要求将其通过相邻两项交换进行反转,问需要进行交换多少次?分析:
分类: 其他 发布时间: 03-03 09:17 阅读次数: 0

Codeforces Round #680 (Div. 2, based on Moscow Team Olympiad)C. Division(质因数分解+欧拉筛优化)

我来提供一个非常暴力的做法显然,我们只需要考虑P是Q的倍数的情况。在这种情况下我们考虑对q的质因数分解为p1n1∗p2n2∗p3n3...pnnnp_1^{n_1}*p_2^{n_2}*p_3^{n_3}...p_n^{n_n}p1n1​​∗p2n2​​∗p3n3​​...pnnn​​然后对于每一个p1p_1p1​考虑使得P不断除以p1p_1p1​,直到P小于Q为止,记录此时的P。以12 和6 为例6=21+316 = 2^1+3^16=21+31首先对2考虑12/2/2=4&nbsp
分类: 其他 发布时间: 03-03 09:17 阅读次数: 0

JAVA web ServletFileUpload文件上传遇到大量50+错误的解决方法

最近学习web开发,突然执行时遇到了50多条错误。最后找到了问题所在:包放错位置了。应该放在WEB-INF的下面。
分类: 其他 发布时间: 03-03 09:17 阅读次数: 0

idea创建web项目时缺少index.jsp的解决方法

创建web项目的时候发现WEB-INF里只有web.xml,没有index.jsp解决方式:点击项目在这里添加web-application即可不要自己手动添加
分类: 其他 发布时间: 03-03 09:17 阅读次数: 0

layui表格数据不符合规范的解决方法

最近用json处理layui的表格数据。发现显示表格数据不规范于是上网查资料table.render({ elem: '#demo' ,height: 312 ,url: '/t' //数据接口 ,page: true //开启分页 ,cols: [[ //表头 {field: 'password', title: '用户名', width:80}
分类: 其他 发布时间: 03-03 09:16 阅读次数: 0

Java web图书管理系统——数据库课程设计

写了一个最基础的java web数据库课设,遵循三层架构。后端:Java前端:layui + echars这里只写了图书的借阅和归还,用户信息管理等界面,其他功能可拓展界面展示数据库备份以及还原package com.book.control;import java.io.*;public class Backup { public static void dbBackUp(String root,String pwd,String dbName,String back
分类: 其他 发布时间: 03-03 09:16 阅读次数: 0

山东大学计算机系统原理实验——MIPS五级流水线cache模拟

船新版本的计算机系统原理实验。题解待补先贴一下我自己写的源码,造福后人源码
分类: 其他 发布时间: 03-03 09:16 阅读次数: 0

latex/texstudio 显示图片不存在的解决方式

最近用latex写论文,发现出现问题:显示图片找不到,而图片路径设置正常。解决方式:latex编译时不能通过xelatex编译将编译命令改成pdflatex即可。
分类: 其他 发布时间: 03-03 09:16 阅读次数: 0

Codeforces Round #703 (Div. 2)C1&C2 Guessing the Greatest(二分)

题意:交互题。query l,r区间内第二大的数,要求得到整个数组最大的数。思路:首先我们对整体数组进行query找到第二大的数所在的位置,设这个位置为p。然后分别对[1,p]和[p,n]进行query,看最大的数是在p的左端还是右端。如果在左端,那我们二分左端的区间左端点,找到最右的左端点a满足[a,p]的query和[1,p]一致,此时得出答案是a。在右端同理。PS:这题二分细节有点多,有点坑。#include<bits/stdc++.h>using namespace
分类: 其他 发布时间: 03-03 09:15 阅读次数: 0

Codeforces Round #703 (Div. 2)D Max Median(二分)

题意:给出一个数组,找出长度>=k的subarray的中位数的最大值。思路:二分中位数,然后看原数组是否满足条件。怎么判断呢?对于数组的每个数,把小于当前数字的设为-1,大于当前数的设为1然后由此求前缀和pre。如果长度始终等于k,那么显然我们只要判断一个pre[i]-pre[i-k]>0就够了然现在是长度>=k那么我们就要引出一个新的数组minpre也就是截至到当前的最小前缀和#include<bits/stdc++.h>using namespace
分类: 其他 发布时间: 03-03 09:15 阅读次数: 0