摘要: 皮克定理是指一个计算点阵中顶点在格点上的多边形面积公式,该公式可以表示为2S=2a+b-2,其中a表示多边形内部的点数,b表示多边形边界上的点数,s表示多边形的面积。 多边形边界上的整数点怎么求呢? 当然是gcd啦~~ gcd(x1-x2, y1-y2)就是这条边上整数点的个数。但是仅仅一条边是不准 阅读全文
posted @ 2024-10-02 16:26 XiaohuangTX 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 1、匈牙利算法; 2、二分图最大匹配 import java.util.Scanner; public class Main { public static boolean find(int cur, int[] pre, boolean[][] map, boolean[] vis){ for ( 阅读全文
posted @ 2024-09-20 22:31 XiaohuangTX 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 用f(n)表示n个人满足条件的结果,那么如果最后一个人是m的话,那么前n-1个满足条件即可,就是f(n-1); 如果最后一个是f那么这个还无法推出结果,那么往前再考虑一位:那么后三位可能是:mmf, fmf, mff, fff,其中fff和fmf不满足题意所以我们不考虑,但是如果是 mmf的话那么前 阅读全文
posted @ 2024-08-20 21:23 XiaohuangTX 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 排序一下就ok了 #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; char s[30]; struct node { int x; int y; }a[105]; int cmp(node a 阅读全文
posted @ 2024-07-19 00:35 XiaohuangTX 阅读(4) 评论(0) 推荐(0) 编辑
摘要: /* 题意:给n 求满足i*j+i+j=n(0<i<=j)方案数 思路:xy+x+y=n (x+1)(y+1)=x*y+x+y+1=n+1; 即求n+1的因子对数 参考:https://blog.csdn.net/Puppettt/article/details/83030925?ops_reque 阅读全文
posted @ 2024-07-14 21:54 XiaohuangTX 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 看了一眼题目,简单dp问题,但超时了一晚上,试了各种方法无法解决,最终放弃java,改用C直接过,我哭了。。。。 #include<stdio.h> #include<string.h> #define maxn 200010 int dp[maxn],ans[maxn],map[maxn]; in 阅读全文
posted @ 2024-06-19 23:45 XiaohuangTX 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 状态转移方程 if (j==2*i+1) { dp[j][i] = dp[j-2][i-1]+ (val[j]-val[j-1])*(val[j]-val[j-1]); }else { dp[j][i] = Math.min(dp[j-1][i], dp[j-2][i-1]+ (val[j]-val 阅读全文
posted @ 2024-06-15 21:46 XiaohuangTX 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 给定一个序列,询问是否能删除一个数让它成为非递减或者非递增的序列。 nlogn一直过不了,所以选择了以下方式。。。 因为删除一个嘛,先证明删除一个能不能是非递减的(非递增的把序列倒过来搞一次就行了) 首先,对一个序列前后两个数做差 比如说序列 3 1 4 1 5 做差后(即1-3,4-1,1-4,5 阅读全文
posted @ 2024-06-09 11:36 XiaohuangTX 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 求最长子序列的和。 dp[i] = max(dp[i] , dp[j] + xx[i])。 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] 阅读全文
posted @ 2024-06-08 17:15 XiaohuangTX 阅读(3) 评论(0) 推荐(0) 编辑
摘要: Dilworth定理通俗地讲就是对于一个偏序集,最少链划分等于最长反链长度。 通俗点就是一个数列最少的不上升(<=)子序列的条数等于该数列最长上升(>)子序列的长度 就是求最长有序子序列 package bag; import java.util.Arrays; import java.util.S 阅读全文
posted @ 2024-06-07 22:48 XiaohuangTX 阅读(2) 评论(0) 推荐(0) 编辑