摘要: 点击查看代码 #include<cstdio> #include<algorithm> using namespace std; const int N=2e6+100; int n,t,A[N],ans; bool check(int x,int y){ if(y>x)return 0; retu 阅读全文
posted @ 2022-06-28 21:52 zasdcn 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 首先先把题目搞明白, 两个指令, 1.随机走向一个城市 2.删除一条边 使从1出发到n的天数最短。 一开始的思路是二分,然后暴力删边,跑最长路判断。明显时间复杂度太高了。 既然他是一步一步走的,那么就一步一步分析,不如说一层一层分析 dp方程为dis[i]为从1到i的最小距离,cnt[i]为i的入度 阅读全文
posted @ 2022-06-24 11:48 zasdcn 阅读(122) 评论(0) 推荐(0) 编辑
摘要: https://vjudge.net/contest/500589#problem/D 一开始想拓扑,用了一个multiset维护其子节点对自己的贡献,然后每次将他的set遍历一遍,然后就,再决定他用不用加一下。 因为贪心所以尽量加到r[x],因为贪心,把当前点加到l[x],即可,因为他对父亲的贡献 阅读全文
posted @ 2022-06-22 17:32 zasdcn 阅读(45) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-06-05 22:04 zasdcn 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-02-20 10:33 zasdcn 阅读(3) 评论(0) 推荐(0) 编辑
摘要: #include #include const int M = 50000; struct tire{//路径上的权值代表字母 int nex[M][26],cnt; bool is[M]; void insert(char *s,int l){ int p=0;//踹树节点从0开始 ,from f 阅读全文
posted @ 2022-02-15 12:00 zasdcn 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 把S1中的字符按照s2中的位置进行存储,按s1的位置顺序倒着存进新的序列里,求个LIS即可。 #include #include #include #include using namespace std; const int M = 110000; vector A[M]; int s[M],t[ 阅读全文
posted @ 2022-02-14 06:14 zasdcn 阅读(74) 评论(3) 推荐(2) 编辑
摘要: 阅读全文
posted @ 2022-02-13 21:23 zasdcn 阅读(24) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2022-02-07 18:55 zasdcn 阅读(4) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-01-26 16:46 zasdcn 阅读(0) 评论(0) 推荐(0) 编辑