[题目链接]:https://www.hackerrank.com/contests/w26/challenges/hard-homework/problem [题意] 给你一个式子:sin(x)+sin(y)+sin(z) 这里x,y,z都为正整数; 让你求这个式子的最大值; [题解] 由和差化积公式; sin(x)+sin(y)=2∗sin(x+y2)∗cos(x−y2) 这里枚举x+y从2到n-1 x-y不好处理; 但如果我们分步来做; 对于x+y为偶数的情况; 我们每次从x+y推到x+y…
https://www.hackerrank.com/contests/w31/challenges/colliding-circles/problem 设E(n)为序列长度为n时的期望值. \[ \begin{aligned} E(n-1)=&E(n)+\frac1{n\choose2}\sum_{0\leq i<j\leq n}2r_ir_j\\ =&E(n)+\frac1{n\choose2}\left[\left(\sum r_i\right)^2-\sum r_i^2\ri…
题意:给你一个正整数n,问你存在多少个正整数对a,b(a<b),满足条件:存在正整数x,y,使得ax+by=n. 就预处理出n以内所有数的约数,然后暴力枚举a,暴力枚举x,然后枚举n-ax的所有约数,判重,统计答案即可. #include<cstdio> #include<vector> #include<algorithm> using namespace std; typedef vector<int>::iterator ITER; vector…
好像这次week of code不是很难= = A int main(){ int n; int m; cin >> n >> m; cout<<(n+)/*)/)<<"\n"; ; } B 求n的因数中数字和最大的前提下最小的数,n<=10^5,大模拟. int n; pii qwq; int main() { scanf("%d",&n); ;i<=n;i++) { if(n%i) contin…
题目描述 题解 吼题但题解怎么这么迷 考虑一种和题解不同的做法(理解) 先把僵尸离散化,h相同的钦(ying)点一个大小 (可以发现这样每种情况只会被算正好一次) 计算完全被占领的方案,然后1-方案/概率 由于大小确定了,所以最后会被分成若干不相连的块,且块中至少有一只僵尸,大的僵尸能占领小的僵尸的块,所以相邻两块之间一定会断开 那么一种占领的方案对应的是一类高度情况,考虑所有的占领方案即可求出所有的高度情况 定义一个块的编号为所占领的最大僵尸的编号 设f[i][x](x>0)表示以i为根的子树…
题目描述 题解 之前做过一次 假设图建好了,设g[i]表示i->j(i<j)的个数 那么ans=∏(n-g[i]),因为连出去的必定会构成一个完全图,颜色互不相同 从n~1染色,点i的方案数是(n-g[i]) 用线段树合并维护集合即可 code #include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio>…
这里使用相册Album和图片Picture的关系做示例 1,Album与Picture最基本的关系是1-n(一个相册可以有多张图片) 这时Album.Picture实体类可以这么定义 /// <summary> /// 相册 /// </summary> public class Album { public int ID { get; set; } /// <summary> /// 标题 /// </summary> public string Titl…
这里使用用户表(User)和项目(Project)表做示例 有这样一个需求: 用户与项目的关系是:一个用户可以发多个项目,可以参加多个项目,而项目可以有多个参与成员和一个发布者 [其中含1-n和n-n的关系] 1-n:一个用户可以发布多个项目 n-n:一个项目的参与用户可以多个,一个用户可以参与多个项目 所以在写映射关系的代码时需要注意指定属性之间的关系 项目结构: 实体类结构设计如下 /// <summary> /// 用户 /// </summary> public class…
[26]Remove Duplicates from Sorted Array Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with constant mem…
JZOJ 5602.[NOI2018模拟3.26]Cti Description 有一个 \(n×m\) 的地图,地图上的每一个位置可以是空地,炮塔或是敌人.你需要操纵炮塔消灭敌人. 对于每个炮塔都有一个它可以瞄准的方向,你需要在它的瞄准方向上确定一个它的攻击位置,当然也可以不进行攻击.一旦一个位置被攻击,则在这个位置上的所有敌人都会被消灭. 保证对于任意一个炮塔,它所有可能的攻击位置上不存在另外一个炮塔. 定义炮弹的运行轨迹为炮弹的起点和终点覆盖的区域.你需要求出一种方案, 使得没有两条炮弹轨…