oj

Super OJ 序列计数

丶灬走出姿态 提交于 2019-12-03 10:34:49
题意: 给出序列 a1,a2,……an(0≤ai≤109),求三元组(ai,aj,ak)(1≤i<j<k≤n)满足 ai<aj>ak 的数量。 分析: 开两个 \(BIT\) ,分别维护前面比它小的和后面比它大的,然后组合计数一下即可 代码: #include<bits/stdc++.h> #define lowbit(x) (x & (-x)) #define ll long long #define N (100000 + 5) using namespace std; inline int read() { int cnt = 0, f = 1; char c = getchar(); while (!isdigit(c)) {if (c == '-') f = -f; c = getchar();} while (isdigit(c)) {cnt = (cnt << 3) + (cnt << 1) + c - '0'; c = getchar();} return cnt * f; } int n, q, a[N], b[N << 1]; ll ans; void pre() { sort(b + 1, b + n + 1); q = unique(b + 1, b + n + 1) - b - 1; for (register int i = 1; i <= n; ++i

oj T1

柔情痞子 提交于 2019-12-03 05:48:48
Theatre Square Description: Theatre Square in the capital city of Berland has a rectangular shape with the size n  ×  m meters. On the occasion of the city's anniversary, a decision was taken to pave the Square with square granite flagstones. Each flagstone is of the size a  ×  a . What is the least number of flagstones needed to pave the Square? It's allowed to cover the surface larger than the Theatre Square, but the Square has to be covered. It's not allowed to break the flagstones. The sides of flagstones should be parallel to the sides of the Square. Input: The input contains three

cqyz oj | 有线电视网

元气小坏坏 提交于 2019-12-03 05:07:11
Description   某收费有线电视网计划转播一场重要的足球比赛。他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,   树叶为各个用户终端,其他中转站为该树的内部节点。从转播站到转播站以及从转播站到所有用户终端的信号传输费用都是已知的,   一场转播的总费用等于传输信号的费用总和。   现在每个用户都准备了一笔费用想观看这场精彩的足球比赛,有线电视网有权决定给哪些用户提供信号而不给哪些用户提供信号。   写一个程序找出一个方案使得有线电视网在不亏本的情况下使观看转播的用户尽可能多。 Input   第一行包含两个用空格隔开的整数N和M,其中2≤N≤3000,1≤M≤N-1,N为整个有线电视网的结点总数,M为用户终端的数量。   第一个转播站即树的根结点编号为1,其他的转播站编号为 2到 N-M,用户终端编号为 N-M+1到 N。   接下来的N-M行每行表示―个转播站的数据,第i+1行表示第i个转播站的数据,其格式: K A1 C1 A2 C2 … Ak Ck,   K表示该转播站下接K个结点(转播站或用户),每个结点对应一对整数A与C,A表示结点编号,C表示从当前转播站传输信号到结点A的费用。   最后一行依次表示所有用户为观看比赛而准备支付的钱数。 Output   仅一行,包含一个整数,表示上述问题所要求的最大用户数。 Sample Input

【OJ】【Leetcode】【数学】136. 只出现一次的数字

只谈情不闲聊 提交于 2019-12-03 03:01:49
题目 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/single-number 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 官方题解 ( 方法4太优秀了,没想到异或还能这么用! ) 方法 4:位操作 概念 如果我们对 0 和二进制位做 XOR 运算,得到的仍然是这个二进制位 a 异或 0 = a 如果我们对相同的二进制位做 XOR 运算,返回的结果是 0 a 异或a = 0 XOR 满足交换律和结合律 a ⊕ b ⊕ a =( a ⊕ a )⊕ b =0⊕ b = b 所以我们只需要将所有的数进行 XOR 操作,得到那个唯一的数字。 class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ a = 0 for i in nums: a ^= i return a 复杂度分析 时间复杂度: O

Swipe to Reveal is not working

匿名 (未验证) 提交于 2019-12-03 02:16:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have implemented a swipe to reveal Oracle JET component. Below is my Js code this.action = ko.observable("No action taken yet"); this.handleReady = function() { // register swipe to reveal for all new list items $("#listview").find(".item-marker").each(function(index) { var item = $(this); var id = item.prop("id"); var startOffcanvas = item.find(".oj-offcanvas-start").first(); var endOffcanvas = item.find(".oj-offcanvas-end").first(); // setup swipe actions oj.SwipeToRevealUtils.setupSwipeActions(startOffcanvas); oj.SwipeToRevealUtils

Comet OJ - Contest #5 E 迫真大游戏

不想你离开。 提交于 2019-12-03 01:26:47
怎么说,看了推到之后真的不难,事实上确实也蛮友好(可能咱就是想不出多项式题目的做法???),除了用到了分治法法塔就比较毒瘤 花了一个晚上以及一个上午做这么一道题...(还是太菜了) 推导分为两步走: Part1 第一步是求出游戏人数为 n 时,第一个人最后死亡的概率 \(f(n)\) 我们先写出 f 的公式: \[f_n=\sum_{i=0}^{n-1} f_{n-i} \binom{n-1}{i} p^i q^{n-i}\] 其中 i 为一轮下来死亡的人数,当然 1 号必然要存活 化简: \[\begin{aligned}{f_n}({1-q^n})&=\sum_{i=1}^{n-1} f_{n-i} \binom{n-1}{i} p^i q^{n-i} \\ f_n&=\frac{n!}{1-q^n} \sum_{i=1}^{n-1} \frac{p^i}{i!} ·\frac{f_{n-i}q^{n-i}}{(n-1-i)!} \end{aligned}\] 容易看出是个卷积的形式,但 f 卷积式与自己有关,所以用分治法法塔解决,复杂度直上 \(n\log^2n\) 这样乱搞就是为了求出一个 \(f_n\) ?呵呵... Part2 然后康康对于每个人他留到最后的概率 由于判定是从第一号角色开始的,那么我们把第 k 个人先搞到第一号角色,即假设先判了前面的 k-1 个人,死了

OJ分类

匿名 (未验证) 提交于 2019-12-03 00:22:01
1、各大OJ网题目分类 https://acm.dhu.edu.cn:80/search3/KnowledgeList.jsp?id=70101 2、POJ题目分类 http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html https://blog.csdn.net/wang_heng199/article/details/74479675 3、部分OJ网题目分类 https://acm.dhu.edu.cn:80/search3/KnowledgeList.jsp?id=70101 4、OJ题目提交网站 https://vjudge.net/ 文章来源: OJ分类

6. ZigZag Conversion――LeetCode OJ

匿名 (未验证) 提交于 2019-12-03 00:22:01
The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility) P A H N A P L S I I G Y I R And then read line by line: “PAHNAPLSIIGYIR” Write the code that will take a string and make this conversion given a number of rows: string convert(string s, int numRows); Example 1: Input: s = “PAYPALISHIRING”, numRows = 3 Output: “PAHNAPLSIIGYIR” Example 2: Input: s = “PAYPALISHIRING”, numRows = 4 Output: “PINALSIGYAHRPI” Explanation: P I N A L S I G Y A H R P I 给定一个字符串,以Z形式(我觉得更像倒N)排列,再以正常行列输出

Super OJ 序列计数

匿名 (未验证) 提交于 2019-12-03 00:17:01
给出序列 a1,a2,……an(0≤ai≤109),求三元组(ai,aj,ak)(1≤i<j<k≤n)满足 ai<aj>ak 的数量。 开两个 \(BIT\) ,分别维护前面比它小的和后面比它大的,然后组合计数一下即可 #include<bits/stdc++.h> #define lowbit(x) (x & (-x)) #define ll long long #define N (100000 + 5) using namespace std; inline int read() { int cnt = 0, f = 1; char c = getchar(); while (!isdigit(c)) {if (c == '-') f = -f; c = getchar();} while (isdigit(c)) {cnt = (cnt << 3) + (cnt << 1) + c - '0'; c = getchar();} return cnt * f; } int n, q, a[N], b[N << 1]; ll ans; void pre() { sort(b + 1, b + n + 1); q = unique(b + 1, b + n + 1) - b - 1; for (register int i = 1; i <= n; ++i) a[i] =

2019/11/2模拟赛&amp;&amp;OJ

匿名 (未验证) 提交于 2019-12-03 00:16:01
T1: 【题目描述】 cwbc 来到一个迷宫中, 这个迷宫是一个 n 行 m 列的网格, 起点在第 sx 行第 sy 列, 终点在第 tx 行第 ty 列。 迷宫里的每个格子上有一个数字, 第 i 行第 j 列的数字记为 a(i,j)。 cwbc 从起点开始, 每次可以跳到同一行或者同一列的某个格子, 但是这一 跳会产生一定的花费, 花费的大小为起跳点和落地点之间所有格子(包含这两个 格子) 上的数字的最小值。 cwbc 看这些数字看得头晕眼花, 只能来找你求助, 请你求出从起点到终点 的最小总花费。 【输入格式】 第一行六个正整数 n,m,sx,sy,tx,ty, 即题目描述中的含义。 接下来 n 行, 每行 m 个正整数, 描述这个迷宫, 第 i 行第 j 列的数字即为 a(i,j)。 【输出格式】 一行, 一个正整数表示从起点到终点的最小总花费。 【样例输入】 5 4 3 1 4 3 3 4 4 1 8 6 1 6 8 7 7 7 9 8 7 6 【样例输出】 6 【样例解释】 行走路线为(3,1)→(1,1)→(1,4)→(1,3)→(4,3)。 总花费为 3+1+1+1=6。 【数据规模和限制】 对于全部测试数据, 保证 1<=n*m<=100,000, 1<=a(i,j)<=1,000。 保证起点与终点不同。 各个测试点的数据规模及特性如下表。 测试点 n,m 特性 1