2020年2月23日

平面欧拉公式——zoj2589

摘要: V-E+R=X+1: V:顶点数 E:边数 R:隔离的面数 X:连通图数量 对于圆来说:V=E=0, 当两圆相交时,V+2,E+4,两圆相切时V+1,E+2 圆的边数E=圆上点数 #include<bits/stdc++.h> using namespace std; #define N 10000 阅读全文

posted @ 2020-02-23 20:49 zsben 阅读(429) 评论(0) 推荐(0) 编辑

圆+向量旋转——SCU1980

摘要: /* 通过c[i]和c[i+1]求出上一层圆的圆心 */ #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<cmath> using namespace std; #define N 阅读全文

posted @ 2020-02-23 15:27 zsben 阅读(198) 评论(0) 推荐(0) 编辑

圆+细节——poj1819

摘要: /* 枚举前面的圆,找到最远的相切位置即可 开头结尾的两种情况也不能忽略 */ #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namespace std; #define N 2005 type 阅读全文

posted @ 2020-02-23 13:58 zsben 阅读(114) 评论(0) 推荐(0) 编辑

状态压缩——2019 CTU G

摘要: 符合条件的串:最多只能有一个字符出现次数是奇数次 设置一个26位状态表示 字符i出现情况:0出现偶数次|1出现奇数次 i:0->n-1 求出s[0..i]所代表的状态mask, 设满足条件的一个前缀s[0..pre]的状态是mask1 那么 count(mask^mask1)<=1 所以只要把mas 阅读全文

posted @ 2020-02-23 12:51 zsben 阅读(164) 评论(0) 推荐(0) 编辑

暴力枚举+stl——CTU 2019 J

摘要: /* 求出所有可能的向量V(x,y)使一个点集通过V移动后和新的点集合并,得到给定的点集 直接枚举1和其他点组成的向量即可 因为不管怎么平移,1肯定要有个对应的点,所以合法向量就从这里找即可 注意:得到的向量统一转换成x>0的向量,然后再*2就是答案 */ #include<bits/stdc++. 阅读全文

posted @ 2020-02-23 12:48 zsben 阅读(224) 评论(0) 推荐(0) 编辑

将序列变成等差的最小代价——2019CTU F

摘要: 这题解决了我一直以来不明白的一个模型,就是将序列变成等差的最小代价 题库链接 https://www.jisuanke.com/contest/7652?view=challenges 2020 campday7 的I也是这个模型 /* 不妨假设:a[1]一开始就在第一个目标位置,那么整个序列就变成 阅读全文

posted @ 2020-02-23 12:46 zsben 阅读(380) 评论(0) 推荐(0) 编辑

导航