摘要:
https://vjudge.net/problem/Gym-102020E 先跑出一个点的值 然后用树形dp可推出其他所有点 ll num[maxn], sum[maxn], ans[maxn]; inline ll qpow(ll a, ll b) { ll res = 1; while (b) 阅读全文
posted @ 2021-03-06 22:19
wansheking
阅读(45)
评论(0)
推荐(0)
摘要:
kmp优化dp https://vjudge.net/problem/Gym-102020A vector<int> v[10]; char M[111]; int n, m, k; ll dp[10010][101][10]; int kmp[10010]; int pre[10010][12]; 阅读全文
posted @ 2021-03-06 22:17
wansheking
阅读(82)
评论(0)
推荐(0)
摘要:
https://vjudge.net/problem/Gym-102020L 背包,按时间排序,从后往前放 struct box { int val, w, time; bool operator < (const box& a) { return time > a.time; } }b[maxn] 阅读全文
posted @ 2021-03-06 22:15
wansheking
阅读(43)
评论(0)
推荐(0)
摘要:
https://vjudge.net/problem/Gym-102020J 将前后房子的差值作为线段树底部节点 查询时要二分查询出最远距离 int a[maxn], t[maxn]; int maxx[maxn * 4]; void build(int rt, int l, int r) { if 阅读全文
posted @ 2021-03-06 22:12
wansheking
阅读(53)
评论(0)
推荐(0)
摘要:
离散数学里面好像有一个连通图的可达矩阵,通过矩阵的幂乘找到该点每一步可到达的点 该题明显是k步后到了哪些点 int mod; struct mat { int data[110][110] = { 0 }; int n = 110; mat() {}; mat(int n) : n(n) {}; m 阅读全文
posted @ 2021-03-06 22:05
wansheking
阅读(64)
评论(0)
推荐(0)
摘要:
计蒜客 - 42405 //先判断点是否在三条线段上 //另一个点所在线段有2种情况都要讨论到 //计算出p点到所在线段两端点的距离 //计算出p点所在线段与另外两条线段夹角大小 //则根据三角形面积公式 s = a * b * sin(sita) //可以求出另一个点到夹角点的距离 //将距离分解 阅读全文
posted @ 2021-03-06 18:51
wansheking
阅读(169)
评论(0)
推荐(0)