题面:https://www.cnblogs.com/Juve/articles/11767225.html 数列: 简化题意:已知a,b,c,求满足$a*x+b*y=c$的$x+y$最小值 然后ex_gcd硬刚就好了,若c为负,则取abs 如果我们设a<b,最优决策点就是x的最小正整数解和最大负整数解 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #…
前言 考得挺憋屈的... 先是搞了两个半小时的 T1 后来发现假了,又没多想跳了.. 然后一看 T2 这不是队长快跑嘛... 先是根据自己的想法打了一遍(考完之后发现是对的..) 然后回想了一下之前的题,不对呀,我记得有一个 if-else 的. 接下来我就这么改了,然后连样例都过不去了... 后来 40min 码完了两个暴力(还有一个打错了..) 最后剩下了 30min 又去看 T1 了,推出来了半个正解 50pts 感觉哪个都有一点感觉,会但不是完全会.. T1 数列 解题思路 扩展欧几里德…
题目传送门(内部题137) 输入格式 第一行,一个正整数$n$. 第二行$n$个正整数$a_1\sim a_n$. 输出格式 输出一个整数,为满足条件的二元组个数. 样例 样例输入: 51 2 3 4 12 样例输出: 数据范围与提示 对于$20\%$的数据,满足$n\leqslant 3,000$. 对于$50\%$的数据,满足$n\leqslant 50,000$. 对于另$20\%$的数据,满足$a_i\leqslant 1,000$. 对于$100\%$的数据,满足$1\leqslant…
题目传送门(内部题95) 输入格式 第一行三个整数$n,a,b$,第二行$n$个整数$x_1\sim x_n$表示数列. 输出格式 一行一个整数表示答案.无解输出$-1$. 样例 样例输入:2 2 31 2 样例输出: 数据范围与提示 对于$10\%$的数据,$n,a,b,|x_i|\leqslant 1,000$. 对于$30\%$的数据,$n,a,b\leqslant 1,000$. 对于另外$10\%$的数据,$a=1$. 对于另外$10\%$的数据,$a=2,b=3$. 对于$100\%…
为什么每次我的flag都会倒? skyh:12:15之前你把T2改出来我吃屎. ----12:10 于是12:12把线段树打完 12:13把主函数打完,过样例,带着一个sb错误交了,WA飞. 然后我就死了. 不要立flag. 比如急切地想让skyh吃屎 比如那篇广受skyh诟病的十月flag,到头来还是......倒在了无敌的大脸下 踏踏实实做好自己就行了.. 不过这次考试真的非常凶险. T1 思路非常不清晰,解了4个极度弱智的不等式 而显然画一条直线出来或者上个三分就能轻松解决了 T1做了2个…
题面:https://www.cnblogs.com/Juve/articles/11799325.html 我太蒻了只会T1T2 组合: 欧拉路板子?不会呀... 然后打了个优化,防止暴栈 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<vector> using namespace std; inline int read()…
题面:https://www.cnblogs.com/Juve/articles/11733280.html smooth: 暴力强筛到7e7有60分... 正解: 维护一个队列,存所有的B-光滑数,维护B个指针, 因为所有的B-光滑数都有1,所以队列中先插1,所有指针只向1的位置 然后扫描B个指针,找出指针指向元素乘上对应质数的最小值更新队列 以B=4为例,最初所有指针只向1,然后扫描指针发现2×1最小,把2放入队列,1指针只向2 下一次扫描所有指针的结果为:4,3,5,7,其中3最小,3入队…
题面:https://www.cnblogs.com/Juve/articles/11602244.html 平均数: 第k个平均数不好求,我们考虑二分,转化成平均数小于x的有几个 虑把序列中的每个数减去 x,则我们只需求区间和小于 0 的区间数量. 我们对这个序列求前缀和,则区间[L,R]和小于 0 当且仅当 SL-1>SR, 答案即为前缀和序列 S 的逆序对数量,使用经典的归并排序即可解决 #include<iostream> #include<cstdio> #incl…
题面:https://www.cnblogs.com/Juve/articles/11523567.html 影子: 暴力方法:枚举每一对点暴力统计最小权 优化:考虑并查集,枚举每个点,如果没有被访问过,那么尝试把这两个点加到一个集合里 维护每一个点作为最小权时的树上路径的两个端点,合并时维护即可 将所有点按照权值从大到小排序,对于将当前点和与其相连的所有点依次合并到一个集合中.并查集需要维护当前集合中的最长路径长度和对应的两个端点.在合并两个集合后,最终集合的最长路一定只有两类情况:一类是其中…
D. Closest Equals Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=3224 Description You are given sequence a1, a2, ..., an and m queries lj, rj (1 ≤ lj ≤ rj ≤ n). For each query you need to print the minimu…