【UOJ Easy Round #1】】的更多相关文章

数论/Trie/并查集 猜数 这题我是这样分析的…… $a*b=g*l=n=k^2 \ and \ (g|a,g|b) \Rightarrow (g*a')*(g*b' )=g*l=k^2 \\ \Rightarrow a' * b' =\frac{l}{g}=(\frac{k}{g})^2  \Rightarrow min(a'+b')=2* \sqrt{\frac{l}{g}}, max(a'+b')=1+\frac{l}{g}$ 然而算ans的时候还需要再乘g……我给忘了…
然而UER我也照样跪…… 第一题 忘了取模sad || 操作符将整个区间分成了一些段,每个手机只会执行其中某一段,执行次数为这一段中&&的个数?+1? ans=ans*num[i]+1 倒着搞了一遍就过了?……然而我并不知道为什么…… //UER 2 A #include<vector> #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream>…
UOJ Easy Round#7 传送门:http://uoj.ac/contest/35 题解:http://matthew99.blog.uoj.ac/blog/2085 #1 题意: 在一个(2n+1)*(2n+1)的网格中,每次只能走到相邻的点, 从左上端出发到右下端,找到一条路径,使此路径经过的所有点权值和最小. 输入:从内到外输出每一圈的点值大小:数据范围n<=10^5: 比赛中: 拿到题目,看到那极有特色性的一个大方格,以及极为特殊的走法,和那10^5的数据量,算法上基本可以确定贪…
Preface 本着刷遍(只刷一遍)各大OJ的原则我找到了一场UOJ的比赛 无奈UOJ一般的比赛难度太大,我就精选了UER中最简单的一场打了一下,就当是CSP前的练习吧 A. [UER #5]万圣节的南瓜灯 一看就是要搞个结论的题目.首先我们看出来所有没有坏的格子要形成一棵树 那么对于\(n,m\le 1000\)的数据我们直接暴力连边并查集判断即可 然后考虑\(n,m\)较大时怎么做,我们发现树一定满足边数+1=点数,换句话说就是边数小于点数 那么我们容易发现对于\(2nm-m-4K<nm-k…
奶昔队Round #1 热身 (奶昔队不是真正的队,是群) CodeForces 435C Cardiogram 模拟,不过我做的时候不是模拟,是计算...(写了好久,还wa了几次),现在看了别人的代码写过一份. #include <iostream> #include <algorithm> #define N 1005 using namespace std; int n,x,y,a,h,l; char ma[N<<1][N]; int main() { cin&g…
Prelude 题目链接:萌萌哒传送门♪(^∇^*) Subtask 1 & 2 这是什么鬼题面... 首先要看出,这就是一个基环树博弈. 具体题意:给出一个基环内向树,一个棋子初始在\(1\)号节点,双方轮流操作,设棋子所在节点为\(u\),每次可以从所有指向\(u\)的节点中选择一个,把棋子移动过去,不能操作者输,问先手是否有必胜策略,或者是否平局. 但是,这个图是可以变的,每次询问,假如我选择环上的两个点\(u\)和\(v\),把\(u\)的出边指向\(v\),那么游戏的结果如何? 考虑如…
这场edu蛮简单的…… 连道数据结构题都没有…… A.随便质因数分解凑一下即可. #include<bits/stdc++.h> #define N 100005 using namespace std; int a[N],cnt,k,x,n; int main(){ scanf("%d%d",&n,&k); ;k>&&n>;i++) &&n%i==;--k,n/=i)a[++cnt]=i; ){puts(;} ;…
这场edu我原本以为能清真一点…… 后来发现不仅是七题 还有各种奇奇怪怪的骚操作…… A. 随便枚举 #include<bits/stdc++.h> using namespace std; int n; int main(){ scanf(; );x*=); printf("%d\n",n/x*x+x-n); } B. xjb按照定义分一下就行了 #include<bits/stdc++.h> using namespace std; typedef long…
又打了一场EDU,感觉这场比23难多了啊…… 艹还是我太弱了. A. 随便贪心一下. #include<bits/stdc++.h> using namespace std; ,ans=-,m; inline int read(){ ,x=;char ch; ;}'); +ch-'); return f*x; } int main(){ n=read();;i<=n;i++){int x=read();sum+=x;}m=read(); while(m--){ int l=read(),…
题意 给定一张无向图,对每个点$i\in S$求$\min_{j\in S} {2\times d(i,j)+a_j}$ 考虑多源多汇最短路会超时,换个角度考虑每个$j$,如果$j=i$,那么答案为$a_i$,如果有更优的方案,那么为$i$到$j$的一条路径加上$a_j$,将这个过程看成两条路径,并且将$a_j$独立为一条路径,就得到最短路算法中的松弛操作,可以建立一个超级源点,连向各点,边权为$a_i$,那么从源点跑一遍最短路之后就是每个点所求答案 时间复杂度$O(n\log n)$ 代码 #…