<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sky666tzz的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sky666tzz</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sky666tzz]]></copyright><item><title><![CDATA[线性代数的本质(个人笔记)]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/126381007</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/126381007</guid><author>sky666tzz</author><pubDate>Sat, 20 Aug 2022 02:32:44 +0800</pubDate><description><![CDATA[线性代数的本质]]></description><category></category></item><item><title><![CDATA[前端七七八八]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/121677150</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/121677150</guid><author>sky666tzz</author><pubDate>Thu, 02 Dec 2021 14:47:09 +0800</pubDate><description><![CDATA[HTML与CSS
1.软件架构
B/S（Brower/Server,浏览器/服务器）模式又称B/S结构,是Web兴起后的一种网络结构模式.Web浏览器是客户端最主要的应用软件.
这种模式统一了客户端，将系统功能实现的核心部分集中到服务器上，简化了系统的开发、维护和使用.
B/S主用于JavaWeb,而C/S主用于JavaSE

2.前端流程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hdg4fdZJ-1638427594679)(https://s3.jpg.cm/202]]></description><category></category></item><item><title><![CDATA[组合数的计算方式]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/117818547</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/117818547</guid><author>sky666tzz</author><pubDate>Fri, 11 Jun 2021 15:33:07 +0800</pubDate><description><![CDATA[虽然标题起的是组合数,但应该组合数学的总结性知识都会写…只不过更新不定时(.
组合数的计算方式
1.预处理
  这种一般适用于求的CabC_a^bCab​的a,b范围比较小,不会MLE的情况.
一般是通过这种递推式处理:
Cij=Ci−1j+Ci−1j−1C_i^j = C_{i-1}^j+C_{i-1}^{j-1}Cij​=Ci−1j​+Ci−1j−1​
2.阶乘逆元
  适用于时间复杂度O(N)O(N)O(N),且模数为质数的情况.
因为
Cab=a!b!(a−b)!C_a^b = \frac {a!}]]></description><category></category></item><item><title><![CDATA[最短路算法整理 七七八八的总结]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/116171144</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/116171144</guid><author>sky666tzz</author><pubDate>Mon, 26 Apr 2021 20:18:55 +0800</pubDate><description><![CDATA[最短路算法整理
1.Dijkstra 算法
先讲讲朴素的Dijkstra算法的思路.朴素的Dijkstra算法先将起点入队.然后找到一个起点距离最近的点.再用这个点去更新其他所有的点.一共有多少个点就进行多少次迭代.因为每次找到一个用于更新距离的点.它的最短距离就已经确定了.
核心代码:
#include &lt;iostream&gt;
#include &lt;cstring&gt;
using namespace std;
#define INF 0x3f3f3f
const int N = 510;]]></description><category></category></item><item><title><![CDATA[Missile Silos CodeForces - 144D]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115216877</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115216877</guid><author>sky666tzz</author><pubDate>Thu, 25 Mar 2021 19:46:16 +0800</pubDate><description><![CDATA[原题链接
考察:dijkstra
思路:
可以证明一定不存在dist[u]+w1(w1&gt;w/2) = d(该点离v更近.)的情况.

#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
#include &lt;algorithm&gt;
#include &lt;queue&gt;
using namespace std;
const int N = 1e5+10;
typedef pair&lt;in]]></description><category></category></item><item><title><![CDATA[Task HDU - 4864]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115187866</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115187866</guid><author>sky666tzz</author><pubDate>Wed, 24 Mar 2021 21:37:54 +0800</pubDate><description><![CDATA[原题链接
考察:贪心+排序
思路:
存储每个等级下对应机器,然后二分查找.
时间复杂度:100000*  100 *测试用例个数
本感觉会TLE,但实测只用187ms,估计break剪枝立大功.
要注意的是我们对于每一个任务要找与它等级相等的机器,因为后面的任务可能等级很高,我们要用xi大的机器才能完成.所以xi大的机器尽可能留着不用.
但是还有一点觉得很怪,就是以下数据,私以为任务数应该是2,但是网上的题解基本没有说到这个的…可能是我理解错了题意.不然可能需要100-&gt;yi和yi-&gt;100都检]]></description><category></category></item><item><title><![CDATA[卡片游戏 HDU - 4550]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115185234</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115185234</guid><author>sky666tzz</author><pubDate>Wed, 24 Mar 2021 19:28:45 +0800</pubDate><description><![CDATA[原题链接
考察:模拟+贪心
思路:
我们不要先考虑0,先考虑放在开头的数字,可以发现放在开头的数字的左边都是按大小顺序放好,放在开头右边的数字都是原封不动的放在后面.由此可解题
要小心N=1的情况
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
#include &lt;deque&gt;
using namespace std;
const int N = 110;
char s[N];
int len;]]></description><category></category></item><item><title><![CDATA[Fibonacci again and again HDU - 1848]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115050941</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115050941</guid><author>sky666tzz</author><pubDate>Sun, 21 Mar 2021 16:13:55 +0800</pubDate><description><![CDATA[原题链接
考察:博弈论 sg函数
思路:
sg[0]为必败态,其中n,m,q是3个有向图游戏,根据定义它们的异或和是sg值.根据sg值判定胜负
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;set&gt;
#include &lt;cstring&gt;
using namespace std;
const int N = 1010;
int f[N],n,m,p,fb[N];
int sg(int x)
{
	if(f[x]!]]></description><category></category></item><item><title><![CDATA[Good Luck in CET-4 Everybody! HDU - 1847]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115050452</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115050452</guid><author>sky666tzz</author><pubDate>Sun, 21 Mar 2021 15:51:04 +0800</pubDate><description><![CDATA[原题链接
考察:博弈论 sg函数
思路:
sg(0)是必败态,假设当前结点x枚举每一个x能达到的点,sg函数记录最小不能达到点.根据sg函数的性质,求出sg(n)的大小.
#include &lt;cstdio&gt;
#include &lt;set&gt;
#include &lt;cstring&gt;
#include &lt;iostream&gt; 
using namespace std;
const int N = 1010;
int n,f[N];
int sg(int x)
{
	if(]]></description><category></category></item><item><title><![CDATA[跳蚤 POJ - 1091]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115035391</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115035391</guid><author>sky666tzz</author><pubDate>Sat, 20 Mar 2021 21:36:45 +0800</pubDate><description><![CDATA[原题链接
考察:容斥原理
思路:
实际是转化为a1x1+a2x2+a3x3+…+anxn = 1(取左边为正),这里有点容易想到买不到的数目那道题,比较容易联想到当gcd&gt;1时就无解.但是真正推理是由exgcd推来,先看ax+by = 1转化为ax%b = 1%b(当此方程有解时是1==gcd(a,b))由此推到多维方程.
#include &lt;iostream&gt;
#include &lt;algorithm&gt;
#include &lt;cstdio&gt;
using namespa]]></description><category></category></item><item><title><![CDATA[GCD HDU - 1695]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115032671</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115032671</guid><author>sky666tzz</author><pubDate>Sat, 20 Mar 2021 19:00:50 +0800</pubDate><description><![CDATA[原题链接
考察:容斥原理
fw本f,二刷还是没想到.
思路
因为x,y与y,x是重复的,所以只计数x,y(y&gt;=x)的个数.暴力枚举的话是O(n2),需要优化.一般优化第二重循环.也就是对于每一个x,找到与它gcd(x,y) = k的y.
gcd(x,y) = k —&gt;gcd(x/k,y/k) = 1.这里比较容易想到欧拉函数,但是欧拉函数求不出来,原因在与y/k互质的数不一定会与i/k互质.那么如何找到与x/k互质的数？将x/k分解质因数,如果x/k~y/k之间有质因数的倍数,那么一定不互质,]]></description><category></category></item><item><title><![CDATA[P1134 [USACO3.2]阶乘问题]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115018377</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115018377</guid><author>sky666tzz</author><pubDate>Fri, 19 Mar 2021 23:48:05 +0800</pubDate><description><![CDATA[原题链接
考察:思维
思路:
0是由2和5的因子凑出来的,因此阶乘时只乘除2与5外的因子即可,但是2的因子比5的因子多,所以剩余还有2的因子数-5的因子数还没累乘,全部乘上%10即可.
不要被0的数目束缚,求出100的数目 再%,这样可能会爆数据.
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;cstring&gt;
using namespace std;
int get(int n,int x)
{
	int sum = 0]]></description><category></category></item><item><title><![CDATA[Mysterious Bacteria LightOJ - 1220]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115014005</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115014005</guid><author>sky666tzz</author><pubDate>Fri, 19 Mar 2021 19:21:33 +0800</pubDate><description><![CDATA[原题链接
考察:唯一分解定理
思路:
之前的解法分类情况太多,复习本题想到更省事的解法.求最大的指数p,也就是x可以被某数的p次方表示.首先x可以分解为x=p1a1 *p2a2 …pnan 如果x可被某数的p次方表示,说明a1,a2,a3…都是p的倍数.由此想到gcd
这里注意一下x可能为负数,此时指数一定为奇数
#include &lt;iostream&gt;
#include &lt;cstdio&gt;
#include &lt;vector&gt;
using namespace std;
typ]]></description><category></category></item><item><title><![CDATA[Pairs Forming LCM LightOJ - 1236]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115009284</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115009284</guid><author>sky666tzz</author><pubDate>Fri, 19 Mar 2021 16:23:43 +0800</pubDate><description><![CDATA[原题链接
考察:gcd与lcm
思路:
不能在计算单个质数方法的时候就/2,存在第一个质数大,后面质数小的情况.
唯一要去掉的是p^a这个计算了2次,单个质数的时候-1.
计算答案的时候,除了n,n外每个都算了2次,因此ans+1&gt;&gt;1
#include &lt;iostream&gt;
#include &lt;cstring&gt;
#include &lt;cstdio&gt;
using namespace std;
typedef long long LL;
const int N =]]></description><category></category></item><item><title><![CDATA[Goldbach‘s Conjecture LightOJ - 1259]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/115005142</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/115005142</guid><author>sky666tzz</author><pubDate>Fri, 19 Mar 2021 14:09:21 +0800</pubDate><description><![CDATA[原题链接
考察:素数
误区:n的范围是1e7,求n被两个质数拆,这里不是筛到√1e7，因为这里是质数和而不是质数积.
#include &lt;iostream&gt;
#include &lt;algorithm&gt;
using namespace std;
typedef long long ll;
const int N = 1e7+10;
int cnt,prime[N];
bool st[N];
void GetPrime(int n)
{
	st[1] = st[0] = 1;
	for(i]]></description><category></category></item><item><title><![CDATA[程序设计：蒜头君的数轴 计蒜客 - A1633]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/114991191</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/114991191</guid><author>sky666tzz</author><pubDate>Thu, 18 Mar 2021 21:21:10 +0800</pubDate><description><![CDATA[原题链接
博客园没了以至于不得不用回优快云
思路:
之前讲得很详细了GO
想补充的是,如果选定区间能整除maxn,那么说明有多个区间gcd左右都是maxn.存储下这些区间,前缀和预处理每个区间要加的点数.取最小值即可,
#include &lt;iostream&gt;
#include &lt;cstring&gt;
#include &lt;cstdio&gt;
#include &lt;vector&gt;
#include &lt;algorithm&gt;
using namespace std]]></description><category></category></item><item><title><![CDATA[数论 持续总结]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/114982431</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/114982431</guid><author>sky666tzz</author><pubDate>Thu, 18 Mar 2021 16:02:55 +0800</pubDate><description><![CDATA[总结:
    计算1~n里有多少个x的倍数:n/x.

    计算1~n里能有分解出x最多多少个:while(n) sum+=n/x,n/=x;


]]></description><category></category></item><item><title><![CDATA[要补的知识点和题]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/113618652</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/113618652</guid><author>sky666tzz</author><pubDate>Wed, 03 Feb 2021 20:11:16 +0800</pubDate><description><![CDATA[知识点:

背包九讲

题：

HDU 3033 分组背包
POJ true liar 并查集+计数dp
牛客寒假训练的题

tmd其实还有蓝桥杯,md太多了学不完啊.
蒟蒻落泪dfs还没怎么搞,kuangbin题单的简单搜索全是bfs md醉了

]]></description><category></category></item><item><title><![CDATA[位运算刷题记录]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/111177892</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/111177892</guid><author>sky666tzz</author><pubDate>Mon, 14 Dec 2020 21:22:58 +0800</pubDate><description><![CDATA[问题一：
高低位交换
走这
问题分析：

简而言之就是高位左移低位右移后相加，但是我位运算毛得基础，以至于完全想不到(菜是原罪)

AC代码：
#include &lt;bits/stdc++.h&gt;
using namespace std;
#define ll long long
int main()
{
	unsigned int  n;
	scanf("%lld",&amp;n);
	printf("%lld",(n&lt;&lt;16)+(n&gt;&gt;16));
} 


注意这道题，必]]></description><category></category></item><item><title><![CDATA[前缀和 差分 刷题记录]]></title><link>https://blog.youkuaiyun.com/sky666tzz/article/details/111056147</link><guid>https://blog.youkuaiyun.com/sky666tzz/article/details/111056147</guid><author>sky666tzz</author><pubDate>Sat, 12 Dec 2020 02:00:46 +0800</pubDate><description><![CDATA[问题一：
P1115 最大子段和(待重做)
走这
问题分析：

说实话这道题有用到前缀和思想吗…反正做得我心浮气躁
原思路是前缀和,在枚举区间的两个端点，结局O(10^10)TLE
正解思路应该是贪心，当遇到一个新值，让它与当前和加上新值比较，如果当前值大就重新记录当前和，小就加上这个值，但这个如果遇到比较小的负数就会使和变小，所以要随时记录最大值

AC代码：
#include &lt;bits/stdc++.h&gt;
using namespace std;
#define ll long long
]]></description><category></category></item></channel></rss>